個人常用記錄

花开、若相依發表於2024-11-15

1.steam分組過濾

Map<String, List<Measure>> map = measures.stream().collect(Collectors.groupingBy(Measure::getModeId));

2.steam過濾條件

List<Measure> opList = measures.stream().filter(entity -> entity.getMultiplier().compareTo(BigDecimal.valueOf(1)) == 0).toList();

3.map迴圈返回集合簡易寫法

map.keySet().forEach(key -> keySet.add(key));

4.steam排序

1.物件集合以類屬性一升序排序

list.stream().sorted(Comparator.comparing(類::屬性一));

2.物件集合以類屬性一降序排序 注意兩種寫法

2.1先以屬性一升序,結果進行屬性一降序

list.stream().sorted(Comparator.comparing(類::屬性一).reversed());

2.2直接以屬性一降序

list.stream().sorted(Comparator.comparing(類::屬性一,Comparator.reverseOrder()));

3.物件集合以類屬性一升序 屬性二升序

list.stream().sorted(Comparator.comparing(類::屬性一).thenComparing(類::屬性二));

4.物件集合以類屬性一降序 屬性二升序 注意兩種寫法

4.1先以屬性一升序,升序結果進行屬性一降序,再進行屬性二升序

list.stream().sorted(Comparator.comparing(類::屬性一).reversed().thenComparing(類::屬性二));

4.2先以屬性一降序,再進行屬性二升序

list.stream().sorted(Comparator.comparing(類::屬性一,Comparator.reverseOrder()).thenComparing(類::屬性二));

5.物件集合以類屬性一降序 屬性二降序 注意兩種寫法

5.1先以屬性一升序,升序結果進行屬性一降序,再進行屬性二降序

list.stream().sorted(Comparator.comparing(類::屬性一).reversed().thenComparing(類::屬性二,Comparator.reverseOrder()));

5.2先以屬性一降序,再進行屬性二降序

list.stream().sorted(Comparator.comparing(類::屬性一,Comparator.reverseOrder()).thenComparing(類::屬性二,Comparator.reverseOrder()));

6.物件集合以類屬性一升序 屬性二降序 注意兩種寫法

6.1先以屬性一升序,升序結果進行屬性一降序,再進行屬性二升序,結果進行屬性一降序屬性二降序

list.stream().sorted(Comparator.comparing(類::屬性一).reversed().thenComparing(類::屬性二).reversed());

6.2先以屬性一升序,再進行屬性二降序

list.stream().sorted(Comparator.comparing(類::屬性一).thenComparing(類::屬性二,Comparator.reverseOrder()));

排序原網址:https://blog.51cto.com/u_16213668/11103095

相關文章