如何根据用户输入获取arraylist中字符串的出现次数

时间:2016-05-13 04:33:14

标签: java arraylist

我有一个Arraylist如下,我需要计算Arraylist中所有元素的出现次数,知道Arraylist的内容可能会根据用户输入而改变。即:第二次用户可以输入(C和D)

ArrayList<String> letters = new ArrayList<String>();

letters.add("A");
letters.add("B");
letters.add("A");
letters.add("B");

2 个答案:

答案 0 :(得分:4)

您可以使用Map来跟踪令牌(和计数)。如果您使用LinkedHashMap,则会保留广告订单。我会使用for-each loop来迭代letters;如果map当前未包含letter,则将其设置为1(否则会增加当前计数)。最后,打印map。像

这样的东西
Map<String, Integer> map = new LinkedHashMap<>();
for (String letter : letters) {
    map.put(letter, !map.containsKey(letter) ? 1 : 1 + map.get(letter));
}
System.out.println(map);

此外,当您声明时,您可以初始化您的List

List<String> letters = Arrays.asList("A", "B", "A", "B");

答案 1 :(得分:-1)

迭代ArrayList并检查每个元素是否与特定String匹配:

String test = //string you want to count occurrences of
int count = 0;
for (String s : letters) {
    if (s.equals(test)) {
        count++;
    }
}