- 排序
public void test1(){
ArrayList<User> userList = new ArrayList<>();
User user1 = new User("tian",1);
User user2 = new User("aian", 1);
User user3 = new User("wen", 3);
userList.add(user1);
userList.add(user2);
userList.add(user3);
List<User> userSortedList = userList.stream().sorted((u1, u2) ->
{
if (u1.getAge() == u2.getAge()) {
return -u1.getName().compareTo(u2.getName());
} else {
return u1.getAge().compareTo(u2.getAge());
}
}).collect(Collectors.toList());
System.out.println(userSortedList);
}
public class User{
private String name;
private Integer age;
注意点:
- 首次测试的时候,u1一直无法用到getName这个方法,原因是因为userList里面的泛型是Object,而不是User;
- 当使用sout打印输出的时候,一直无法打印,原因是User类没有重写toString的方法;
$$