public static void main(String[] args) {
    ArrayList<String> list = new ArrayList<String>();
    String s = "nope";
    String v = "nopenopes";
    list.add(s);
    list.add(v);
    keywordCount(list, "nope");

}
public static int keywordCount(ArrayList<String> str , String keyword){
    int count = 0;

    for (int i = 0;i<str.size();i++){
    while ((i= str.indexOf(keyword,i)) != -1) { // here is where I found the error
          count++;
          i += keyword.length();
}}

    System.out.println(count);
    return count;
}


您好,我正在编写一段代码,该代码计算数组列表中特定关键字的出现次数。它适用于一行字符串,但在尝试对arraylist执行相同操作时则无效。有人可以指出我做错了什么,并帮助我修复它。提前致谢。

最佳答案

您可以起诉Collections.frequncy()

 List<String> list=new ArrayList<>();
 list.add("a");
 list.add("b");
 list.add("a");
 System.out.println(Collections.frequency(list,"a")); // out put is 2


假设您有一个List<String> list,那么您想查找出现次数keyword

然后

int numOfOccurrences= Collections.frequency(list,keyword)

关于java - 计算数组列表中关键字的出现次数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25176033/

10-08 22:23