JAVA 实现来一批数据 相同类型统计数量
时间: 2024-02-16 17:05:27 浏览: 53
您好!要实现相同类型数据统计数量可以使用 Java 中的 Map 类。具体实现如下:
1. 定义一个 Map 来存储数据类型和对应的数量,数据类型为 key,数量为 value。
```java
Map<String, Integer> countMap = new HashMap<>();
```
2. 遍历数据列表,获取每个数据的类型并统计数量。
```java
for (Data data : dataList) {
String type = data.getType();
if (countMap.containsKey(type)) {
int count = countMap.get(type);
countMap.put(type, count + 1);
} else {
countMap.put(type, 1);
}
}
```
3. 输出每个类型的数量统计结果。
```java
for (String type : countMap.keySet()) {
int count = countMap.get(type);
System.out.println(type + ": " + count);
}
```
完整代码示例:
```java
import java.util.*;
public class DataCounter {
public static void main(String[] args) {
List<Data> dataList = generateDataList();
Map<String, Integer> countMap = new HashMap<>();
for (Data data : dataList) {
String type = data.getType();
if (countMap.containsKey(type)) {
int count = countMap.get(type);
countMap.put(type, count + 1);
} else {
countMap.put(type, 1);
}
}
for (String type : countMap.keySet()) {
int count = countMap.get(type);
System.out.println(type + ": " + count);
}
}
private static List<Data> generateDataList() {
List<Data> dataList = new ArrayList<>();
dataList.add(new Data("A"));
dataList.add(new Data("B"));
dataList.add(new Data("A"));
dataList.add(new Data("C"));
dataList.add(new Data("B"));
dataList.add(new Data("A"));
return dataList;
}
private static class Data {
private String type;
public Data(String type) {
this.type = type;
}
public String getType() {
return type;
}
}
}
```
输出结果:
```
A: 3
B: 2
C: 1
```