相关疑难解决方法(0)

流式传输到新集合的集合

我正在寻找最无痛的方法来过滤集合.我在想类似的东西

Collection<?> foo = existingCollection.stream().filter( ... ). ...
Run Code Online (Sandbox Code Playgroud)

但我不确定如何最好从过滤器,返回或填充另一个集合.大多数例子似乎都像"在这里你可以打印".可能有一个我缺少的构造函数或输出方法.

java java-8 java-stream

47
推荐指数
2
解决办法
5万
查看次数

Java 8流将<K,V>映射到List <T>

鉴于我有一些函数需要两个参数并返回一个值,是否可以将Map转换为Stream中的List作为非终端操作?最近的I cam找到的是在地图上使用forEach来创建实例并将它们添加到预定义的List中,然后从该List开始一个新的Stream.还是我错过了什么?

例如:经典"在一些长词中找到3个最常出现的单词"

wordList.stream().collect(groupingBy(Function.identity, Collectors.counting))).
Run Code Online (Sandbox Code Playgroud)

(现在我想流式传输那个地图的entrySet)

sorted((a,b) -> a.getValue().compareTo(b.getValue))).limit(3).forEach(print...
Run Code Online (Sandbox Code Playgroud)

java lambda java-8 java-stream

23
推荐指数
1
解决办法
5万
查看次数

如何在Java 8中将Map转换为List

如何将转换Map<String, Double>List<Pair<String, Double>>使用Java 8?

我写了这个实现,但效率不高

Map<String, Double> implicitDataSum = new ConcurrentHashMap<>();
//....
List<Pair<String, Double>> mostRelevantTitles = new ArrayList<>();
implicitDataSum.entrySet().stream().
                .sorted(Comparator.comparing(e -> -e.getValue()))
                .forEachOrdered(e -> mostRelevantTitles.add(new Pair<>(e.getKey(), e.getValue())));

return mostRelevantTitles;
Run Code Online (Sandbox Code Playgroud)

我知道它应该可以使用.collect(Collectors.someMethod()).但我不明白该怎么做.

java java-8 java-stream

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

将<S,S>映射到List <S>

我正在尝试将a转换Map<String, String>List<String>使用lambdas.

基本上我想将键和值连接在一起'='.这似乎微不足道,但我找不到如何做到这一点.

例如

Map<String, String> map = new HashMap<>();
map.put("a1","b1");
map.put("a2","b2");
map.put("a3","b3");

// Lambda

// Result contains ["a1=b1", "a2=b2", "a3=b3"]
List<String> result;
Run Code Online (Sandbox Code Playgroud)

java lambda java-8 java-stream

5
推荐指数
2
解决办法
185
查看次数

标签 统计

java ×4

java-8 ×4

java-stream ×4

lambda ×2