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列表
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();以使它们有序