我有以下ArrayList>。我需要按照其中的arrayLists的大小对此ArrayList进行排序。如何才能做到这一点?
谢谢!
答案 0 :(得分:0)
编写比较器并使用排序方法: -
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中的概念
答案 1 :(得分:0)
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);
}
}
}``
使用此代码工作。此代码工作正确