Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何根据用户输入获取arraylist中字符串的出现次数_Java_Arraylist - Fatal编程技术网

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

Java 如何根据用户输入获取arraylist中字符串的出现次数,java,arraylist,Java,Arraylist,我有一个Arraylist,如下所示,我需要计算Arraylist中所有元素的出现次数,知道Arraylist的内容可能会根据用户输入而改变。i、 e:第二次用户可以输入(C和D) ArrayList字母=新的ArrayList(); 信函。添加(“A”); 字母。添加(“B”); 信函。添加(“A”); 字母。添加(“B”); 迭代数组列表,检查每个元素是否匹配特定的字符串: String test = //string you want to count occurrences of int

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

ArrayList字母=新的ArrayList();
信函。添加(“A”);
字母。添加(“B”);
信函。添加(“A”);
字母。添加(“B”);

迭代
数组列表
,检查每个元素是否匹配特定的
字符串

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

迭代
数组列表
,检查每个元素是否与特定的
字符串匹配

String test = //string you want to count occurrences of
int count = 0;
for (String s : letters) {
    if (s.equals(test)) {
        count++;
    }
}
您可以使用来跟踪令牌(和计数)。如果使用,它将保留插入顺序。我将使用a来迭代
字母
;如果
映射
当前不包含
字母
,则将其设置为
1
(否则增加当前计数)。最后,打印
地图
。差不多

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);
您可以使用来跟踪令牌(和计数)。如果使用,它将保留插入顺序。我将使用a来迭代
字母
;如果
映射
当前不包含
字母
,则将其设置为
1
(否则增加当前计数)。最后,打印
地图
。差不多

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);


你的意思是,你想计算一个元素在列表中出现的次数吗?@Nermeen为了避免额外的编码,为什么不使用
HashMap
,并保持计数,就这么简单。是的,我需要找到除了将变量命名为
字母
,还有多少个A和B,问题文本中没有任何内容限制列表中的字符串仅为单字母字符串。这是一个限制,还是字符串可以是单词或整个句子?如果受到限制,它们只能是大写字母,是否允许使用小写字母?数字?特殊人物?像
ä
?@Nermeen这样的国际信件在邮寄时请多加小心。您的示例代码格式不正确,包含的空格比可打印字符多,无法打印的字符更神秘。您的意思是,您想计算列表中元素的出现时间吗?@Nermeen为了避免额外的编码,为什么不使用
HashMap
,并保持计数,就这么简单。是的,我需要找出除了将变量命名为
字母
,还有多少个A和B,问题文本中没有任何内容限制列表中的字符串仅为单字母字符串。这是一个限制,还是字符串可以是单词或整个句子?如果受到限制,它们只能是大写字母,是否允许使用小写字母?数字?特殊人物?像
ä
?@Nermeen这样的国际信件在邮寄时请多加小心。您的示例代码格式不正确,包含大量空白,其中包含比可打印字符更神秘的不可打印字符。我想他们需要每个元素的计数。因此,需要一个HashMap来计算列表中每个唯一元素的出现次数。什么是
字母
?问题中没有说明列表中的字符串只是单个字母。这只是一个例子。@Andreas
letters
ArrayList
。就在OP的密码里。哦,对不起,你说得对。那么,当问题明确表示您不知道该计数什么,因为“Arraylist可能会根据用户的输入而改变”时,“您想计数的字符串”是什么?@Andreas它可能由用户输入或其他什么,这取决于OP想要什么。我想他们想要每个元素的计数。因此,需要一个HashMap来计算列表中每个唯一元素的出现次数。什么是
字母
?问题中没有说明列表中的字符串只是单个字母。这只是一个例子。@Andreas
letters
ArrayList
。就在OP的密码里。哦,对不起,你说得对。那么,什么是“你想计算出现次数的字符串”,当问题明确表示你不知道该计算什么,因为“Arraylist可能会根据用户输入而改变”?@Andreas它可能由用户输入或其他什么,这取决于OP想要什么。但另一个问题是,如何从这个映射中获得某个值,因为我不太熟悉maps@Nermeen
int countA=map.get(“A”)
intcountb=map.get(“B”)但还有一个问题,既然我不太熟悉,如何从这个映射中获得某个值maps@Nermeen
int countA=map.get(“A”)
intcountb=map.get(“B”)