private void createAnagramSignatures() {
for (String word : dictionary.keySet()) {
int signature = getSignature(word);
if (!anagramMap.containsKey(signature)) {
anagramMap.put(signature, new ArrayList<String>());
}
anagramMap.get(signature).add(word);
}
}
我对map.getOrDefault有些熟悉,只是不确定它如何应用于以下场景。
最佳答案
一种方法是使用computeIfAbsent
,您可以将其执行为:
dictionary.keySet()
.forEach(word -> anagramMap.computeIfAbsent(getSignature(word),
key -> new ArrayList<>()).add(word));
关于java - 如何在Java 8中替换以下代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55005118/