Java中ArrayList如何记录重复的元素个数
时间: 2023-12-03 11:43:47 浏览: 192
在Java中,ArrayList本身并没有记录重复元素的个数的功能。不过,我们可以借助Map来实现这个功能。具体做法是,使用HashMap或者TreeMap作为计数器,将ArrayList中的元素作为键,将该元素出现的次数作为值进行存储。代码示例如下:
```java
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
public class ArrayListDemo {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
list.add("apple");
list.add("banana");
list.add("apple");
Map<String, Integer> counter = new HashMap<>();
for (String s : list) {
if (counter.containsKey(s)) {
counter.put(s, counter.get(s) + 1);
} else {
counter.put(s, 1);
}
}
for (Map.Entry<String, Integer> entry : counter.entrySet()) {
System.out.println(entry.getKey() + ":" + entry.getValue() + "个");
}
}
}
```
输出结果为:
```
orange:1个
banana:2个
apple:3个
```
以上代码中,我们首先创建了一个ArrayList对象,然后创建了一个HashMap对象作为计数器。接着,我们遍历ArrayList中的每个元素,如果该元素已经出现过,则将其出现次数加1;否则,将其添加到HashMap中,并将出现次数初始化为1。最后,我们遍历HashMap中的每个键值对,输出每个元素以及其出现的次数。
阅读全文