我想在Java中用字符串出现的次数在ArrayList<String>
中排名。
像这样:如果我有一个ArrayList<String>= [French, English, German, French, French, Belgium, English, Belgium]
我计算"French", "English", "Belgium",etc.
出现的数字。因此法语出现3次,英语出现2次,比利时出现2次,德语出现1次。然后我想将ArrayList<String>
放在数字的功能中。
结果将是:
French 3
English 2
Belgium 2
German 1
我该怎么做?如何关联整数和字符串?
最佳答案
任何时候需要关联数据时,都应该一直考虑使用Map
。 HashMap
是用于此的基本类。因此,您可以遍历列表,并使用Map<String, Integer>
创建关联。
List<String> stuff = new ArrayList<String>();
// ...populate it
Map<String, Integer> map = new HashMap<String, Integer>();
for(String string : stuff) {
if(map.containsKey(string)) {
map.put(string, map.get(string) + 1);
}
else {
map.put(string, 1);
}
}
查看完整的HashMap API here。