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