java中给list分组
时间: 2023-08-06 16:04:17 浏览: 45
在Java中,你可以使用Java 8新特性中的Stream API来实现按照某个字段进行分组。假设你有一个包含Person对象的List,每个Person对象有一个字段group表示分组信息,你可以按照这个group字段将List中的Person对象进行分组。
示例代码如下:
```java
import java.util.*;
import java.util.stream.Collectors;
public class GroupDemo {
public static void main(String[] args) {
// 假设你有一个List<Person>,每个Person对象有一个group字段表示分组信息
List<Person> persons = new ArrayList<>();
persons.add(new Person("Alice", "A"));
persons.add(new Person("Bob", "A"));
persons.add(new Person("Charlie", "B"));
persons.add(new Person("David", "C"));
persons.add(new Person("Emily", "B"));
// 使用Stream API按照group字段进行分组
Map<String, List<Person>> groups = persons.stream()
.collect(Collectors.groupingBy(Person::getGroup));
// 输出分组后的结果
for (Map.Entry<String, List<Person>> entry : groups.entrySet()) {
String group = entry.getKey();
List<Person> people = entry.getValue();
System.out.println("Group: " + group);
for (Person person : people) {
System.out.println(" " + person);
}
}
}
}
class Person {
String name;
String group;
public Person(String name, String group) {
this.name = name;
this.group = group;
}
public String getName() {
return name;
}
public String getGroup() {
return group;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", group='" + group + '\'' +
'}';
}
}
```
输出结果如下:
```
Group: A
Person{name='Alice', group='A'}
Person{name='Bob', group='A'}
Group: B
Person{name='Charlie', group='B'}
Person{name='Emily', group='B'}
Group: C
Person{name='David', group='C'}
```
这样就可以按照group字段将List中的Person对象进行分组了。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)