小编use*_*671的帖子

列出不同的元素,包括Java Streams的计数

我想知道是否可以使用单个Java Steam语句打印出集合中的唯一元素并包括每个元素的计数。

例如,如果我有:

List<String> animals = Arrays.asList("dog", "cat", "pony", "pony", "pony", "dog");
Run Code Online (Sandbox Code Playgroud)

我想打印流:

cat - 1
dog - 2
pony - 3
Run Code Online (Sandbox Code Playgroud)

java count distinct java-stream

1
推荐指数
2
解决办法
535
查看次数

从 Java Stream 生成的 Optional 中消除额外的 isPresent() 调用

我是一个相对新手的 Stream 用户,我觉得应该有一种更简洁的方法来完成我下面的操作。是否可以在单个 Stream 中完成以下代码的全部操作(消除底部的 if/else)?

谢谢!

Optional<SomeMapping> mapping = allMappings.stream()
     .filter(m -> category.toUpperCase().trim().equalsIgnoreCase(m.getCategory().toUpperCase().trim()))
     .findAny();         
if (mapping.isPresent()) {
     return mapping.get();
} else {
     throw new SomeException("No mapping found for category \"" + category + "\.");
}
Run Code Online (Sandbox Code Playgroud)

java optional

0
推荐指数
1
解决办法
69
查看次数

标签 统计

java ×2

count ×1

distinct ×1

java-stream ×1

optional ×1