1. 改变原list集合
class NrscDemoApplicationTests {
@Data
@AllArgsConstructor
@NoArgsConstructor
static class Human {
private String name;
private int age;
}
@Test
void changeOriginalList() {
List<Human> humans = Lists.newArrayList(
new Human("yoyo", 12),
new Human("yoki", 12),
new Human("nrsc", 10),
new Human("nrfx", 10));
humans.sort(Comparator.comparing(Human::getAge).thenComparing(Human::getName));
System.out.println(humans);
}
}
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/adb6655a0b7e4631b146af80a23dd45b.png)
2. 不改变原list集合
class NrscDemoApplicationTests {
@Data
@AllArgsConstructor
@NoArgsConstructor
static class Human {
private String name;
private int age;
}
@Test
void changeOriginalList() {
List<Human> humans = Lists.newArrayList(
new Human("yoyo", 12),
new Human("yoki", 12),
new Human("nrsc", 10),
new Human("nrfx", 10));
List<Human> collect = humans.stream()
.sorted(Comparator.comparing(Human::getAge).thenComparing(Human::getName))
.collect(Collectors.toList());
System.err.println(humans);
System.out.println(collect);
}
}
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/8ac5ec73d28c14a5b1cc9f24cf47b846.png)