这篇文章将会讲解Java 8 Stream sorted()示例

下面代码以自然序排序一个list

List<Person> listTem = list.stream().sorted() 

 

自然序逆序元素,使用Comparator 提供的reverseOrder() 方法

List<Person> listTem = list.stream().sorted(Comparator.reverseOrder()) 

 

使用Comparator 来排序一个list

List<Person> listTem = list.stream().sorted(Comparator.comparing(Person::getAge)) 

 

把上面的元素逆序

List<Person> listTem = list.stream().sorted(Comparator.comparing(Person::getAge).reversed()) 

注:

Stream方式会copy一个新的list(listTem)。listTem进行remove/add不会影响原list,但是foreach修改内部元素的信息,会导致list也修改。

即:此方式不是正在的深复制。

深复制查看java List复制:浅拷贝与深拷贝

 

当然还可以不用借助steam方式直接排序:

java8笔记: sorted()之正序倒序
    

java8笔记: sorted()之正序倒序
java List复制:浅拷贝与深拷贝
list.sort(Comparator.comparing(Integer::intValue));

list.sort(Comparator.comparing(Integer::intValue).reversed());

list.sort(Comparator.comparing(Person::getAge));

list.sort(Comparator.comparing(Person::getAge).reversed());
java8笔记: sorted()之正序倒序
    

java8笔记: sorted()之正序倒序
java List复制:浅拷贝与深拷贝

相关文章:

  • 2022-12-23
  • 2021-05-08
  • 2021-04-16
  • 2022-12-23
  • 2022-01-06
  • 2021-10-12
  • 2022-12-23
  • 2022-01-19
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-08-05
  • 2022-02-09
  • 2022-12-23
  • 2022-12-23
  • 2021-11-23
相关资源
相似解决方案