Collections.sort进行排序
User user = new User();
user.setUserName("zhangsan");
user.setUserId("111");
user.setIndex(0);
User user1 = new User();
user1.setUserName("lisi");
user1.setUserId("222");
user1.setIndex(1);
User user2 = new User();
user2.setUserName("wangwu");
user2.setUserId("333");
user2.setIndex(2);
List list = new ArrayList();
list.add(user2);
list.add(user1);
list.add(user);
Collections.sort(list,new Comparator<User>(){
@Override
public int compare(User o1, User o2) {
if(o1.getIndex()>o2.getIndex()){
return 1;
}else if(o1.getIndex()<o2.getIndex()){
return -1;
}
return 0;
}
});
for(Iterator it = list.iterator();it.hasNext();){
Object obj = it.next();
if(obj instanceof User){
User u = (User) obj;
System.out.println(u.getUserName());
}
}
重写Comparator接口的compare方法
一般是在类中定义一个内部类
static class IntegerComparator implements Comparator{
@Override
public int compare(Object o1, Object o2) {
return Integer.valueOf(o1.toString()).compareTo(Integer.valueOf(o2.toString()));
}
}然后在使用的时候直接这样使用
Collections.sort(list,new IntegerComparator());就可以了