Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.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 - Fatal编程技术网

Java 如何计算ArrayList中单词的出现次数?

Java 如何计算ArrayList中单词的出现次数?,java,Java,我已经编写了以下代码并得到了输出。 导入java.util.ArrayList public class DuplicatesinArrayList { public static void main(String[] args) { ArrayList <String> al = new ArrayList<>(); al.add("Soumen"); al.add("Rahul"); al.a

我已经编写了以下代码并得到了输出。 导入java.util.ArrayList

public class DuplicatesinArrayList {

    public static void main(String[] args) {

        ArrayList <String> al = new ArrayList<>();
        al.add("Soumen");
        al.add("Rahul");
        al.add("Soumen");
        al.add("Ram");
        al.add("Rahul");
        al.add("Rahul");
        al.add("Rahul");
        al.add("Ram");
        al.add("Ram");
        al.add("Ram");
        al.add("Ram");

        for (int i = 0; i < al.size(); i++) {  
            int ctr = 0;
            for (int j = 0; j < al.size(); j++) {
                if(al.get(i).equals(al.get(j)))
                    ctr++;
            }
            System.out.println(al.get(i)+" present " + ctr + " times"); 
        }
    }
}

我希望每个单词都有一个结果。有人能帮忙吗?

你可以用地图

Map<String, Integer> map = new HashMap<>();
for (String s : al) {
    if (map.containsKey(s)) map.put(s, map.get(s) + 1);
    else map.put(s, 1);
}

for (Map.Entry<String, Integer> entry : map.entrySet()) {
    System.out.println(entry.getKey()+" present " + entry.getValue() + " times");
}

你可以用地图

Map<String, Integer> map = new HashMap<>();
for (String s : al) {
    if (map.containsKey(s)) map.put(s, map.get(s) + 1);
    else map.put(s, 1);
}

for (Map.Entry<String, Integer> entry : map.entrySet()) {
    System.out.println(entry.getKey()+" present " + entry.getValue() + " times");
}

使用地图或番石榴多集。嗨,RC,你能给我以前问过的问题,这样我就可以找到答案。我不想使用地图。不使用地图,我如何才能达到预期的结果???请看这里的或答案,这里有一些“无地图”选项使用地图或番石榴多集。嗨,RC,你能给我之前问的问题,这样我就可以找到答案。我不想使用地图。不使用地图,我如何才能达到预期的结果???请参阅或此处的答案,这里有一些“无地图”选项您有没有不使用地图的解决方案?您有没有不使用地图的解决方案?
al.stream().collect(groupingBy(o -> o, counting())).forEach((name, count) -> System.out.println(name + " present " + count + " times"));