Java8 集合元素使用Stream Api进行分组
2017-09-22 22:31
711 查看
import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; import static java.util.stream.Collectors.groupingBy; public class Student { private int id; private String sex; private String name; public static void main(String[] args) { List<Student> list = new ArrayList(); for (int i = 0; i < 5; i++) { Student student = new Student(); student.setId(i); student.setSex(i % 2 == 0 ? "男" : "女"); student.setName("zhangsan" + i); list.add(student); } //将所有的学生按照性别进行分组 Map<String, List<Student>> collect = list.stream().collect(Collectors.groupingBy(Student::getSex)); //用方法引用可读性更好 Map<String, List<Student>> collect2 = list.stream().collect(groupingBy(Student::getSex)); //按照Id分组 Map<Integer, List<Student>> collect3 = list.stream().collect(groupingBy(Student::getId)); //自定义函数分组 Map<Integer, List<Student>> collect4 = list.stream().collect(groupingBy(stu -> stu.hashCode() % 5)); System.out.println(collect); System.out.println(collect2); System.out.println(collect3); System.out.println(collect4); } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
相关文章推荐
- java如何对map进行排序详解(map集合的使用)
- java使用mongo数据库,怎么根据两列进行分组统计并分页
- C# 使用Dictionary、linq实现根据集合里面的字符串进行分组
- “像元分组” 算法:将二值图像中处于相邻的元素进行分组标号, 使得属于同一个分组的像元集合,其编号都相同
- Java使用foreach遍历集合元素
- Java基础之元素集合的分类及使用
- Java使用迭代器遍历集合,遍历过程中可删除元素
- java中对list集合中的数据按照某一个属性进行分组
- Java常用集合元素使用小结
- Java中对List集合内的元素进行顺序、倒序、随机排序的示例代码
- java如何对map进行排序详解(map集合的使用)
- java 集合(List)元素分组
- [疯狂Java]集合:Collection的迭代器Iterator、使用Predicate筛选集合中的元素
- java list<integer>一组不连续的数字进行每10个一组分组,要求各组元素之和差值最小。list%10>=5的单独算一组,否则归并到任意一组。
- java在集合中对集合进行分组
- Java使用foreach遍历集合元素
- java如何对map进行排序详解(map集合的使用)
- JAVA_WEB Struts2学习:使用验证框架进行校验JSP页面元素 反编译工具的配置 Strtuts2 国际化学习
- java如何对map进行排序详解(map集合的使用)
- JAVA在线抓取网页中的元素的例子(使用JSoup包进行解析)