Java遍历一个List统计某字段值相同的行数
时间: 2024-03-18 07:40:55 浏览: 65
可以使用Java 8中的stream和Collectors来完成这个任务。假设我们有一个包含多个对象的List,每个对象都有一个名字属性,我们想要统计每个名字出现的次数,可以按照以下方式实现:
```java
import java.util.*;
import java.util.stream.*;
public class Main {
public static void main(String[] args) {
List<Person> people = Arrays.asList(
new Person("Alice"),
new Person("Bob"),
new Person("Charlie"),
new Person("Alice"),
new Person("David"),
new Person("Bob")
);
Map<String, Long> counts = people.stream()
.collect(Collectors.groupingBy(Person::getName, Collectors.counting()));
System.out.println(counts);
}
}
class Person {
private String name;
public Person(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
```
输出结果为:
```
{Bob=2, Charlie=1, Alice=2, David=1}
```
这表明,Bob出现了2次,Charlie、Alice、David各出现了1次。
阅读全文