这里写自定义目录标题
Java8 stream使用方式
Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。
Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。
Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。
这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。
元素流在管道中经过中间操作(intermediate operation)的处理,最后由最终操作(terminal operation)得到前面处理的结果。
filter()与 findAny() 和 orElse()一起使用
根据name获取一个Person
Person result1 = collection.stream() // 转化为流
.filter(x -> "李四".equals(x.getName())) // 只过滤出"李四"
.findAny() // 如果找到了就返回
.orElse(null); // 如果找不到就返回null
filter()与map()一起使用
获取对象中的某个属性
String address= collection.stream()
.filter(x -> "张三".equals(x.getName()))
.map(Person::getAddress) //把流转化为String
.findAny()
.orElse(null);
对象排序
排序
// reversed 这个字段 用于控制升序降序
List p = list.stream().sorted(Comparator.comparing(EpmErpPosting::getCompanyCode).reversed()).collect(Collectors.toList());
未完待续----