标签:
在Java中,Collectors.groupingBy
方法允许您根据指定条件对元素进行分组。下面是一个简单的示例,演示如何使用Collectors.groupingBy
方法:
假设我们有一个Person
类如下所示:
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
Java
然后,我们可以使用Collectors.groupingBy
方法根据Person
对象的年龄进行分组:
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
public class GroupingByExample {
public static void main(String[] args) {
List<Person> people = Arrays.asList(
new Person("Alice", 30),
new Person("Bob", 25),
new Person("Charlie", 30),
new Person("David", 25)
);
Map<Integer, List<Person>> peopleByAge = people.stream()
.collect(Collectors.groupingBy(Person::getAge));
peopleByAge.forEach((age, group) -> {
System.out.println("Age: " + age);
group.forEach(System.out::println);
System.out.println("--------------------");
});
}
}
Java
在上面的示例中,我们首先创建一个Person
对象的List
,然后使用Collectors.groupingBy
方法根据Person
对象的年龄对它们进行分组。groupingBy
方法的参数是一个函数,它用于确定如何分组元素。在本例中,我们根据Person
对象的age
属性进行分组。
最后,我们遍历生成的Map<Integer, List<Person>>
,输出每个年龄段对应的Person
列表。这是Collectors.groupingBy
方法的简单用法示例。您可以根据自己的需求调整对象的属性和分组条件。
标签: 来源:
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。