Collections.sort()
Set extends Collection
List extends Collection
因此可以对 Set 集合或者 List 集合使用 Collections.sort() 方法排序。
list中的对象实现Comparable接口
public class User implements Comparable<User>{
private String name;
private Integer order;
// ... getter setter
@Override
public int compareTo(User arg0) {
return this.order-arg0.order;
}
}
根据Collections.sort重载方法来实现
List<User> list = new ArrayList<User>();
list.add(user2);
list.add(user1);
Collections.sort(list,new Comparator<User>(){
public int compare(User arg0, User arg1) {
return arg0.getOrder().compareTo(arg1.getOrder());
}
});
对于List、List 可以直接调用 Collections.sort() 默认按照升序排列,如需降序排列,可以再使用
Collections.reverse(list); 进行反转。
Arrays
Arrays虽然没有继承Collection,但他本身拥有静态方法:
Arrays.sort(arrays)
Arrays.sort(arrays, Comparator)
此外
package org.apache.commons.lang;
下的ArrayUtils:
ArrayUtils.reverse();// 实现反转