【发布时间】:2015-09-24 03:58:12
【问题描述】:
我有以下 ArrayList>。我需要根据其中的 arrayLists 的大小对这个 ArrayList 进行排序。如何才能做到这一点?
谢谢!
【问题讨论】:
我有以下 ArrayList>。我需要根据其中的 arrayLists 的大小对这个 ArrayList 进行排序。如何才能做到这一点?
谢谢!
【问题讨论】:
为排序方法编写比较器:-
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中的概念
【讨论】:
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);
}
}
}``
使用此代码工作。此代码工作正确
【讨论】: