* 方法 描述
* sorted() 产生一个新流,其中按自然顺序排序
* sorted(Comparator comp) 产生一个新流,其中按比较器顺序排序
public class StreamSortedInfo {
//生成多个Person对象
List<Person> persons = Person.createRoster();
@Test
public void test(){
persons.stream()
.map(Person::getName)
.sorted()
.forEach(System.out::println);
// persons.stream()
// .map(p -> p.getName())
// .sorted()
// .forEach(System.out::println);
System.out.println("----------------------");
//如果年龄相同则比较名称
persons.stream()
.sorted(
(x,y) -> {
if(x.getAge() == y.getAge()){
return x.getName().compareTo(y.getName());
}else{
return Integer.compare(x.getAge(), y.getAge());
}
}
).forEach(System.out::println);
//仅比较年龄
// persons.stream()
// .sorted(Comparator.comparing(Person::getAge))
// .forEach(System.out::println);
}
}
源码下载地址:https://download.csdn.net/download/qq_20410965/12434193