java 中vector 排序

Vector1中装有("hmm","2");Vector2中装有("we","5");Vector3中装有("de","3");将这三个Vector以各自中的第二个数排序... Vector1中装有("hmm","2");
Vector2中装有("we","5");
Vector3中装有("de","3");
将这三个Vector以各自中的第二个数排序,排后结果为:
Vector2 ("we","5");
Vector3("de","3");
Vector1中装有("hmm","2");
怎么做,谢谢!
展开
 我来答
liubird
推荐于2016-03-22 · TA获得超过1932个赞
知道小有建树答主
回答量:898
采纳率:100%
帮助的人:933万
展开全部

自定义排序吧,自己写一个比较子, 实现Comparator借口, 在比较子之中实现自己的比较规则。将所有的需要排序的vector放入到一个List之中,然后调用Collections的sort方法进行排序。

下面是实现的代码。

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
import java.util.Vector;
public class TestSort {
 public static final Comparator<Vector<String>> VECTOR_COMPARATOR = new Comparator<Vector<String>>() {
  @Override
  public int compare(Vector<String> v1, Vector<String> v2) {
   if (v1 == null || v1.size() < 2) {
    return -1;
   }
   if (v2 == null || v2.size() < 2) {
    return 1;
   }
   return Integer.valueOf(v2.get(1)) - Integer.valueOf(v1.get(1));
  }
 };
 public static void main(String[] args) {
  Vector<String> v1 = new Vector<String>();
  Vector<String> v2 = new Vector<String>();
  Vector<String> v3 = new Vector<String>();
  v1.add("hmm");
  v1.add("2");
  v2.add("we");
  v2.add("5");
  v3.add("de");
  v3.add("3");
  List<Vector<String>> vList = new ArrayList<Vector<String>>();
  vList.add(v1);
  vList.add(v2);
  vList.add(v3);
  Collections.sort(vList, VECTOR_COMPARATOR);
  System.out.println(vList);
 }
}

 

最后输出的结果是:

[[we, 5], [de, 3], [hmm, 2]]

追问
如果不是3个Vector,而是成万上千个,那么这么排序方法还合适吗?效率
追答
当然合适啊。 几万个数据用这样的排序很轻松就能搞定的。
haitangrexue
2013-06-29 · TA获得超过142个赞
知道小有建树答主
回答量:344
采纳率:100%
帮助的人:156万
展开全部
因为vector装的不是同一个对象,所以不能用写比较器的方法实现;
既然指定是第二个值,剩下的就是三个数比较大小了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
白给开箱王
2013-06-29
知道答主
回答量:39
采纳率:100%
帮助的人:10.8万
展开全部
就3个数,而且你知道,不是很简单吗?你知道提取Vectorn[1]来进行匹配就行了,如果是2就排最后,5就排第一
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式