我正在尝试弄清楚如何计算被破折号---
分隔的ArrayList
中元素的出现次数。
ArrayList<String> animals = new ArrayList<String>();
animals.add("dog");
animals.add("cat");
animals.add("bat");
animals.add("bat");
animals.add("---");
animals.add("cat");
animals.add("dog");
animals.add("dog");
animals.add("---");
animals.add("bat");
animals.add("bat");
animals.add("dog");
所以我的ArrayList
看起来像这样:
animals = {"dog", "cat", "bat", "bat", "---", "cat", "dog", "dog", "---", "bat", "bat", "dog"}
我希望我的输出结果按字母顺序排列,如下:
bat: 2
cat: 1
dog: 1
---
cat: 1
dog: 2
---
bat: 2
dog: 1
在我使用破折号之前,我是通过以下方法获取出现次数的
int occurrences = Collections.frequency(animals, "bat");
有什么想法可以实现这个吗?
List::subList
方法。但我认为手动扫描会更有效率,因为你不需要一遍又一遍地查找每个值。 - RealSkeptic