Java 如何计算存储在ArrayList中的每个句子中每个单词的出现次数?

Java 如何计算存储在ArrayList中的每个句子中每个单词的出现次数?,java,arraylist,hashmap,word-count,Java,Arraylist,Hashmap,Word Count,例如,我有一个arraylist,它保存文档的每一行- list.add("I like to play pool") list.add("How far can you run") list.add("Do you like fanta because I like fanta") 我希望能够浏览存储在arrayList中的每个句子,并计算每个句子中每个单词的出现次数,有人能帮我吗 编辑 这是我试过的,但它只告诉我每个句子的出现情况。我需要它来计算每个句子的字数 Set<Strin

例如,我有一个
arraylist
,它保存文档的每一行-

list.add("I like to play pool")

list.add("How far can you run")

list.add("Do you like fanta because I like fanta")
我希望能够浏览存储在
arrayList
中的每个句子,并计算每个句子中每个单词的出现次数,有人能帮我吗

编辑 这是我试过的,但它只告诉我每个句子的出现情况。我需要它来计算每个句子的字数

Set<String> unique = new HashSet<String>(list);
        for (String key : unique) {
            System.out.println(key + ": " + Collections.frequency(list, key));
Set unique=新哈希集(列表);
for(字符串键:唯一){
System.out.println(key+“:”+Collections.frequency(list,key));
  • 让我们调用您的
    ArrayList列表
  • 让我们列出字符串[]的列表2 3、将句子拆分成数组
  • 计数事件
  • 守则:

    ArrayList<String> list = new ArrayList<>();
    //add sentences here
    list.add("My first sentence sentence");
    list.add("My second sentence1 sentence1");
    
    ArrayList<String[]> list2 = new ArrayList<>();
    for (String s : list) { list2.add(s.split(" "));};
    for (String[] s : list2) {
        Map<String, Integer> wordCounts = new HashMap<String, Integer>();
    
        for (String word : s) {
            Integer count = wordCounts.get(word);
            if (count == null) {
                count = 0;
            }
            wordCounts.put(word, count + 1);
        }
        for (String key : wordCounts.keySet()) {
            System.out.println(key + ": " + wordCounts.get(key).toString());
    }
    
    ArrayList list=new ArrayList();
    //在此添加句子
    列表。添加(“我的第一句”);
    添加(“我的第二句话1”);
    ArrayList list2=新的ArrayList();
    对于(字符串s:list){list2.add(s.split(“”);};
    对于(字符串[]s:list2){
    Map wordCounts=new HashMap();
    for(字符串字:s){
    整数计数=字计数。获取(字);
    如果(计数=null){
    计数=0;
    }
    字数。put(字数,计数+1);
    }
    for(字符串键:wordCounts.keySet()){
    System.out.println(key+”:“+wordCounts.get(key.toString());
    }
    
    我们帮助那些自助的人。你甚至还没有尝试过。你自己尝试过什么吗?如果你有任何尝试过的代码,请发布在这里。很抱歉,我添加了我尝试过的代码,希望它能帮助我。我对编程比较陌生。请阅读一篇有趣的文章,并尝试在每个问题中提供,谢谢他的帮助!似乎很到位,只是当它打印出句子不再有序,但它给了我所需的结果时!请随意修改我给你的代码,以便它以你喜欢的方式打印内容。这是一种很好的方式,可以将你标记为解决方案的答案向上投票。尝试将HashMap()替换为LinkedHashMap();以使它们有序