java类中用Collections的sort方法对一个list进行排序,比较简单
先建一个User对象
public class User {
public String name;
public Integer age;
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
这里是一个Test
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Test {
public static void main(String[] args)
{
List<User> list = new ArrayList<User>();
User user1 = new User();
User user2 = new User();
User user3 = new User();
user1.setAge(16);
user1.setName("王五");
user2.setAge(12);
user2.setName("李四");
user3.setAge(16);
user3.setName("张三");
list.add(user1);
list.add(user2);
list.add(user3);
//按照他们的年龄进行排序
Collections.sort(list,new Comparator<User>() {
@Override
public int compare(User obj1, User obj2) {
int i = obj1.getAge().compareTo(obj2.getAge());
if(i == 0){//如果年龄相同,则比较他们的名字,按照名字进行排序
return obj1.getName().compareTo(obj2.getName());
}
return i;//这里返回的只是一个int类型的数据
}
});
for(User u : list){
System.out.println(u.getName());
}
}
}
运行结果:
李四
张三
王五