/** * 测试 * * @param args 参数实体 */ public static void main(String args[]) { List<SeatVo> list = new ArrayList<>(); for (int i = 1; i <= 20; i++) { list.add(new SeatVo((long) i, "坐席" + i, i % 2 == 0 ? "空闲" : "忙碌")); } //排序-倒叙 System.out.println("排序-倒叙-------------------------------------------------------------------------------------------"); List<SeatVo> collect = list.stream().sorted(Comparator.comparing(SeatVo::getSeatId).reversed()).collect(Collectors.toList()); collect.stream().forEach(vo -> { System.out.println("collect=" + vo.toString()); }); //filter-过滤器 System.out.println("filter-过滤器-------------------------------------------------------------------------------------------"); List<SeatVo> voList = list.stream().filter(vo -> StringUtil.equals("忙碌", vo.getSeatState())).collect(Collectors.toList()); voList.stream().forEach(vo -> { System.out.println("voList=" + vo.toString()); }); //filter-提取元素 System.out.println("filter-提取元素-------------------------------------------------------------------------------------------"); List<String> stringList = list.stream().map(SeatVo::getSeatState).collect(Collectors.toList()); stringList.stream().forEach(vo -> { System.out.println("stringList=" + vo); }); //filter-去重 System.out.println("filter-去重-------------------------------------------------------------------------------------------"); Stream<String> distinct = stringList.stream().distinct(); distinct.forEach(vo -> { System.out.println("distinct=" + vo); }); //filter-分组 System.out.println("filter-分组-------------------------------------------------------------------------------------------"); Map<String, List<SeatVo>> listMap = list.stream().collect(Collectors.groupingBy(SeatVo::getSeatState)); listMap.keySet().forEach(vo->{ System.out.println("listMap key = "+vo); List<SeatVo> vvList = listMap.get(vo); vvList.forEach(vv->{ System.out.println("vvList = "+vv); }); }); }
java stream 总结
于 2022-12-06 16:54:12 首次发布