你的位置:首页 > 信息动态 > 新闻中心
信息动态
联系我们

Java8 流函数示例

2022/9/8 16:17:06

list.toArray();
Arrays.asList(arr);
String str = String.join(",", list);

+--------------------+       +------+   +------+   +---+   +-------+
| stream of elements +-----> |filter+-> |sorted+-> |map+-> |collect|
+--------------------+       +------+   +------+   +---+   +-------+

filter
filter(Objects::nonNull);// 过滤空元素
filter(u -> StringUtils.isNotEmpty(u.getId()))

sorted
sorted(Comparator.comparing(User::getHeight).reversed())

map
map(User::getId)
map(String::valueOf)
map(i -> i*i)

collect
collect(Collectors.toList())
collect(Collectors.joining(","));// 以","拼接各元素
collect(Collectors.toMap(User::getId, u -> u))
collect(Collectors.groupingBy(User::getCityId));// 无序分组
collect(Collectors.groupingBy(User::getCityId, LinkedHashMap::new, Collectors.toList()));// 有序分组

boolean = anyMatch(u -> u.getType() == 1)
boolean = noneMatch(u -> u.getType() == 1)
count()
distinct()
forEach()
findAny()
findFirst().ifPresent(x -> x)
mapToInt(x -> x).summaryStatistics();// 统计
taskList.removeIf(model -> model.getMachineId() == 25);

// 累计BigDecimal
.map(OrderModel::getPrice).reduce(BigDecimal.ZERO, BigDecimal::add)