java中字符串数组列表中字符串的频率

java中字符串数组列表中字符串的频率,java,arraylist,string-comparison,Java,Arraylist,String Comparison,我试过这段代码没人能帮我找到问题所在 public static List<Integer> matchingStrings(List<String> strings, List<String> queries) { // Write your code here int counter =0; List<Integer> q= new ArrayList<Integer>();

我试过这段代码没人能帮我找到问题所在

public static List<Integer> matchingStrings(List<String> strings, List<String> queries) {
    // Write your code here
        int counter =0;
        List<Integer> q= new ArrayList<Integer>();
        for(int i = 0;i<queries.size();i++){
            for(int j=0;j<strings.size();j++){
                if(queries.get(i).equals(strings.get(j))){
                    counter= counter+1;
                }
            q.add(counter);
        }
            counter=0;
    }    
        return q;
}
}
公共静态列表匹配字符串(列表字符串、列表查询){
//在这里编写代码
int计数器=0;
列表q=新的ArrayList();

对于(int i=0;i,可以在集合中使用静态频率方法

int numberOfOccurrences = Collections.frequency(listOfStrings, "string_to_search");

将i和j初始化为实例变量,则在for循环中结束它们的作用域

List q=new ArrayList();
int i,j,计数器;

对于(i=0;i实际问题是什么?很可能,您应该返回一个简单的int,而不是一个列表,但您对结果的预期是模糊的,甚至对您遇到的问题更模糊。我认为您必须移动
q.add(计数器)
向下一行。它当前在内部for循环中,而应该在外部for循环中。这种问题更容易看出代码的格式是否正确。(在Eclipse中,CTRL+F为您提供了这一功能)请正确解释您的问题。此处的预期输出是什么?输入是什么?