1.steam分組過濾
Map<String, List<Measure>> map = measures.stream().collect(Collectors.groupingBy(Measure::getModeId));
Map<Object, List<Map<String, String>>> map = domainList.stream().collect(Collectors.groupingBy(map -> map.get("code")));
2.steam過濾條件
List<Measure> opList = measures.stream().filter(entity -> entity.getMultiplier().compareTo(BigDecimal.valueOf(1)) == 0).toList();
3.map循環(huán)返回集合簡易寫法
map.keySet().forEach(key -> keySet.add(key));
4.steam排序
1.對(duì)象集合以類屬性一升序排序
list.stream().sorted(Comparator.comparing(類::屬性一));
2.對(duì)象集合以類屬性一降序排序 注意兩種寫法
2.1先以屬性一升序,結(jié)果進(jìn)行屬性一降序
list.stream().sorted(Comparator.comparing(類::屬性一).reversed());
2.2直接以屬性一降序
list.stream().sorted(Comparator.comparing(類::屬性一,Comparator.reverseOrder()));
3.對(duì)象集合以類屬性一升序 屬性二升序
list.stream().sorted(Comparator.comparing(類::屬性一).thenComparing(類::屬性二));
4.對(duì)象集合以類屬性一降序 屬性二升序 注意兩種寫法
4.1先以屬性一升序,升序結(jié)果進(jìn)行屬性一降序,再進(jìn)行屬性二升序
list.stream().sorted(Comparator.comparing(類::屬性一).reversed().thenComparing(類::屬性二));
4.2先以屬性一降序,再進(jìn)行屬性二升序
list.stream().sorted(Comparator.comparing(類::屬性一,Comparator.reverseOrder()).thenComparing(類::屬性二));
5.對(duì)象集合以類屬性一降序 屬性二降序 注意兩種寫法
5.1先以屬性一升序,升序結(jié)果進(jìn)行屬性一降序,再進(jìn)行屬性二降序
list.stream().sorted(Comparator.comparing(類::屬性一).reversed().thenComparing(類::屬性二,Comparator.reverseOrder()));
5.2先以屬性一降序,再進(jìn)行屬性二降序
list.stream().sorted(Comparator.comparing(類::屬性一,Comparator.reverseOrder()).thenComparing(類::屬性二,Comparator.reverseOrder()));
6.對(duì)象集合以類屬性一升序 屬性二降序 注意兩種寫法
6.1先以屬性一升序,升序結(jié)果進(jìn)行屬性一降序,再進(jìn)行屬性二升序,結(jié)果進(jìn)行屬性一降序?qū)傩远敌?/em>
list.stream().sorted(Comparator.comparing(類::屬性一).reversed().thenComparing(類::屬性二).reversed());
6.2先以屬性一升序,再進(jìn)行屬性二降序
list.stream().sorted(Comparator.comparing(類::屬性一).thenComparing(類::屬性二,Comparator.reverseOrder()));
排序原網(wǎng)址:https://blog.51cto.com/u_16213668/11103095
浙公網(wǎng)安備 33010602011771號(hào)