【问题标题】:Sorting ArrayList of arraylist<integer>对arraylist<integer>的ArrayList进行排序
【发布时间】:2015-09-24 03:58:12
【问题描述】:

我有以下 ArrayList>。我需要根据其中的 arrayLists 的大小对这个 ArrayList 进行排序。如何才能做到这一点?

谢谢!

【问题讨论】:

标签: sorting arraylist integer


【解决方案1】:

为排序方法编写比较器:-

  import java.util.*;  
 class ListComparator implements Comparator{  
public int Compare(Object o1,Object o2){  
ArrayList s1=(ArrayList)o1;  
ArrayList s2=(ArrayList)o2;  

if(s1.size()==s2.size())  
 return 0;  
  else if(s1.size()>s2.size())  
 return 1;  
 else  
 return -1;  
 }  
  } 

假设你的 ArrayList 是变量名 myList。

  Collections.sort(myList, new ListComparator()); 

参考这个link了解java中的概念

【讨论】:

    【解决方案2】:
    import java.util.*;
    class Details  {
    
        public static void main(String args[]){
           ArrayList<Integer> listofcountries = new ArrayList<Integer>();
           listofcountries.add(89);
           listofcountries.add(5);
           listofcountries.add(3);
           listofcountries.add(9);
    
           /*Unsorted List*/
           System.out.println("Before Sorting:");
           for(int counter: listofcountries){
                System.out.println(counter);
            }
    
           /* Sort statement*/
           Collections.sort(listofcountries);
    
           /* Sorted List*/
           System.out.println("After Sorting:");
           for(int counter: listofcountries){
                System.out.println(counter);
            }
        }
    }``
    

    使用此代码工作。此代码工作正确

    【讨论】:

    • OP 想要的是 arraylist 的短列表,而不是整数列表。此代码根据元素的值进行排序。但是他想根据数组列表的大小进行排序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-21
    • 1970-01-01
    • 2015-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多