作者:秋静222 | 来源:互联网 | 2023-02-04 18:35
我有这个代码:
HashMap dupeMap = new HashMap<>();
for (String name : sortWords)
if(dupeMap.containsKey(name)) {
int count = dupeMap.get(name);
dupeMap.put(name, ++count);
} else {
dupeMap.put(name, 1);
}
System.out.printf("Duplicates: %s\n", dupeMap.entrySet());
我希望它在迭代我的ArrayList之后打印出重复项(它是事先创建的,它只是读取给定的文件并按字母顺序对字符串进行排序).截至目前,它以这种方式打印出重复的内容:
重复:[8 = 1,2 = 2,7 = 2,4 = 1]
有没有办法将它成对打印出来(key = value \n key = value等)并且没有实际提到独特的单词?
我是地图的新手,所以即使对于这段代码我也要搜索stackoverflow,虽然我脑子里有同样的想法,但却无法想出一个好的方法来编写它.
1> Andy Turner..:
过滤条目集以删除值为1的元素:
List> dupes = dupeMap.entrySet()
.stream()
.filter(e -> e.getValue() > 1)
.collect(Collectors.toList());
然后:
System.out.printf("Duplicates: %s\n", dupes);