我试图获得重复值为String ArrayList
的计数,我已经完成了任务但并未完成。我能够得到我的arrayList
重复elements
的counts
,但问题是,arrayList
的order
破坏时,我得到的elements
在Java中arrayList中获取重复值的计数,而不会影响arrayList的顺序
这里的occurrences
是我code
:
Map<String, Integer> counts = new HashMap<String, Integer>();
for (String str : t.courseName) {
if (counts.containsKey(str)) {
counts.put(str, counts.get(str) + 1);
} else {
counts.put(str, 1);
}
}
for (Map.Entry<String, Integer> entry : counts.entrySet()) {
System.out.println(entry.getKey() + " = " + entry.getValue());
}
此代码工作罚款为occurrences
但请注意,此代码破坏order
。我想要的是order
也不应该被销毁。
如果你使用的是java 8,你的if-else语句可以简化为'counts.merge(str,1,Integer :: sum);'。 –