Java Stream API collect()使用映射的个人类单词intsead
如何将地图转换为包含单词和频率的类单词Java Stream API collect()使用映射的个人类单词intsead,java,collections,java-8,java-stream,Java,Collections,Java 8,Java Stream,如何将地图转换为包含单词和频率的类单词 List<Word> 或者我必须创造类似的东西 Map<String, List<Word>> wordFreq 为了简洁起见,我避免使用一些方法 您可以使用Stream.map。。方法在您的情况下,这将是: List<Word> words = wordFreq.entrySet() .stream() .map(entry -> new Word(a.ge
List<Word>
或者我必须创造类似的东西
Map<String, List<Word>> wordFreq
为了简洁起见,我避免使用一些方法
您可以使用Stream.map。。方法在您的情况下,这将是:
List<Word> words = wordFreq.entrySet()
.stream()
.map(entry -> new Word(a.getKey(), Math.toIntExact(a.getValue())))
.collect(Collectors.toList());
地图中有一种方便的方法:
List<Word> words = new ArrayList<>();
Stream.of(userWords.toString().split(" "))
.parallel()
.collect(Collectors.groupingBy(String::toString, Collectors.counting()))
.forEach((k, v) -> words.add(new Word(k, Math.toIntExact(v))))
List<Word> words = wordFreq.entrySet()
.stream()
.map(entry -> new Word(a.getKey(), Math.toIntExact(a.getValue())))
.collect(Collectors.toList());
List<Word> words = new ArrayList<>();
Stream.of(userWords.toString().split(" "))
.parallel()
.collect(Collectors.groupingBy(String::toString, Collectors.counting()))
.forEach((k, v) -> words.add(new Word(k, Math.toIntExact(v))))