Java新特性
🦆Java如何创建Stream
//生成一个包含🦆、🐕的集合
List<String> list = Arrays.asList("duck", "dog");
//普通流
Stream<String> stream = list.stream();
//并行流 需要注意线程安全问题
Stream<String> stringStream = list.parallelStream();
🦆Stream常用的中间操作
🐟Map
//生成一个包含🦆的集合
List<Duck> list = new ArrayList<>();
//获取🦆的颜色集合
List<String> colorList = list.stream().map(Duck::getColor).collect(Collectors.toList());
//获取🦆的Id集合
List<String> idList = list.stream().map(Duck::getId).collect(Collectors.toList());
🐟Filter
//生成一个包含🦆的集合
List<Duck> list = new ArrayList<>();
//获取黄色🦆的集合
List<Duck> collect = list.stream().filter(duck -> "yellow".equals(duck.getColor())).collect(Collectors.toList());
🐟Sort
//生成一个包含🦆的集合
List<Duck> list = new ArrayList<>();
//按照🦆的年龄升序排列
List<Duck> sortedUpDuck = list.stream().sorted(Comparator.comparingInt(Duck::getAge)).collect(Collectors.toList());
//按照🦆的年龄降序排列
List<Duck> sortedDowmDuck = list.stream().sorted(Comparator.comparingInt(Duck::getAge).reversed()).collect(Collectors.toList());
🐟Distinct
//生成一个包含🦆的集合
List<Duck> list = new ArrayList<>();
//过滤掉属性一样的🦆
List<Duck> sortedUpDuck = list.stream().distinct().collect(Collectors.toList());