Java 是否有重复字符串的计数方法

Java 是否有重复字符串的计数方法,java,for-loop,arraylist,Java,For Loop,Arraylist,伙计们,有没有办法计算一个字符串在ArrayList中出现的次数? 例如,如果数组由以下字符串组成: “帕纳多尔” “努洛芬” “努洛芬” 您如何让它执行以下操作: 帕纳多尔1 努洛芬2号 不使用hashmaps是否可能?只为每个循环或if语句使用arraylists、while循环? 非常感谢您的回答您可以使用双循环(+包含-check)来完成此操作,但这并不有效 ArrayList<String> words = new ArrayList<>(); words.ad

伙计们,有没有办法计算一个字符串在ArrayList中出现的次数? 例如,如果数组由以下字符串组成:

  • “帕纳多尔”
  • “努洛芬”
  • “努洛芬”
  • 您如何让它执行以下操作:

  • 帕纳多尔1
  • 努洛芬2号
  • 不使用hashmaps是否可能?只为每个循环或if语句使用arraylists、while循环?
    非常感谢您的回答

    您可以使用双循环(+
    包含
    -check)来完成此操作,但这并不有效

    ArrayList<String> words = new ArrayList<>();
    words.add("Cat");
    words.add("Dog");
    words.add("Bird");
    words.add("Dog");
    words.add("Cat");
    words.add("Dog");
    
    ArrayList<String> alreadyParsed = new ArrayList<>();
    for (String word : words) {
        if (alreadyParsed.contains(word)) {
            continue;
        }
    
        int counter = 0;
        for (String candidate : words) {
            if (candidate.equals(word)) {
                counter++;
            }
        }
    
        System.out.println(word + " " + counter);
        alreadyParsed.add(word);
    }
    

    为什么不想使用HashMap呢?这就像问如何不用螺丝刀拧紧螺丝。是的!这是可能的。确定-转储SQLite表中的数据,运行GROUPBY和COUNT
    ArrayList<String> words = new ArrayList<>();
    words.add("Cat");
    words.add("Dog");
    words.add("Bird");
    words.add("Dog");
    words.add("Cat");
    words.add("Dog");
    
    HashMap<String, Integer> counters = new HashMap<>();
    for (String word : words) {
        if (counters.containsKey(word)) {
            counters.put(word, counters.get(word) + 1);
        } else {
            counters.put(word, 1);
        }
    }
    
    System.out.print(counters);