java - 对 LinkedList 中具有相同值的项目进行排序??? - java

标签 java sorting linked-list

我在尝试对 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/

相关文章:

javascript - 如何比较数组中的每个数字? (javascript)

performance - 快速排序与。归并排序性能分析

C编程,双向链表复制问题

java - 不能使用 Intent 将数据移动到另一个 Activity

java - 在 log4j2 中创建自定义附加程序的首选方法是什么?

Java旋转动画

Mysql 像描述的那样对我的表中的数据进行排序

java - 来自单个对象的接口(interface)集合

c - C中main方法中链表遍历中的段错误

c - 我陷入链表的无限循环