我在尝试对 LinkedList 进行排序时遇到问题。 我使用了以下代码:
Collections.sort(mylist, new Comparator<String[]>() {
public int compare(String[] o1, String[] o2) {
int one= Integer.parseInt(o1[1]);
int two = Integer.parseInt(o2[1]);
return one-two;
}
});
这里我输入了一些值:
thelist.testing("a",1);
thelist.testing("b",5);
thelist.testing("c",5);
thelist.testing("d",5);
thelist.testing("e",7);
System.out.println(thelist);
我有这些结果:a:1,b:5,c:5,d:5,e:7
当项目具有相同编号时,我希望输出如下:a:1,d:5,c:5,b:5,e:7
最佳答案
就这样做:
Collections.sort(mylist, new Comparator<String[]>() {
public int compare(String[] o1, String[] o2) {
if(o1[1].equals(o2[1]){
return -(o1[0].compareTo(o2[0]));
}
int one= Integer.parseInt(o1[1]);
int two = Integer.parseInt(o2[1]);
return one-two;
}
});
示例代码:
List<String[]> mylist = new ArrayList<String[]>();
mylist.add(new String[]{"a","1"});
mylist.add(new String[]{"b","5"});
mylist.add(new String[]{"c","5"});
mylist.add(new String[]{"d","5"});
mylist.add(new String[]{"e","7"});
输出:
[a, 1]
[d, 5]
[c, 5]
[b, 5]
[e, 7]
关于java - 对 LinkedList 中具有相同值的项目进行排序??? - java ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14802419/