2
現在我有這樣的方法:是否有可能將轉換列表改進爲有序地圖?
public static Map<String, Long> getSortedMap(List<String> wordsList) {
Map<String, Long> countedWords = wordsList.stream()
.collect(
Collectors.groupingBy(Function.identity(), Collectors.counting())
);
return new TreeMap<>(countedWords);
}
其將字符串列表來圖,其中關鍵是從列表中唯一的字符串,其值 - 的時候,這串在列表中重複次數。然後按鍵排序地圖。
- 這可以重寫爲一個流操作嗎?
- 是否可以提高執行速度?
這是一個實現細節,但在目前的版本中,'Collectors.summingLong(X - > 1L)'可能是比'Collectors.counting()'快。由於這將在下一個版本中發生變化,因此,如果您有真正的性能問題,那麼您應該只使用這些知識,因爲強烈建議您在下一個Java版本上修改代碼。 – Holger
@Holger不錯!我剛剛檢查了資料來源,並確實在9日對'summingLong'進行了統計。而在8'計數'這是一個減少操作*可能*很多拳擊和取消拳擊。 – Eugene