stream流分组

简介: stream流分组

前两天补充了博客中写的java8stream的用法

今天再写个分组的

例如我们下面需要根据奇数偶数分组

可以先新建一个list

List<Integer> integerList = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 0));

然后进行分组

Map<Boolean, List<Integer>> collect = integerList.stream().collect(Collectors.groupingBy(data -> data % 2 == 0));
List<Integer> evenNumbers = collect.get(true);
List<Integer> oddNumber = collect.get(false);
System.out.println("data % 2 == 0-----------");
evenNumbers.forEach(System.out::println);
System.out.println("data % 2 != 0-----------");
oddNumber.forEach(System.out::println);

然后输出结果

比如我们现在自定义的User,我们需要根据username进行分组

List<User> userList = Lists.newArrayList();
userList.add(new User("ruben", "1"));
userList.add(new User("achao", "2"));
userList.add(new User("ruben", "3"));
Map<String, List<User>> userMap = userList.stream().collect(Collectors.groupingBy(User::getUsername));
List<User> ruben = userMap.get("ruben");
System.out.println("ruben-----------");
ruben.forEach(System.out::println);
List<User> achao = userMap.get("achao");
System.out.println("achao-----------");
achao.forEach(System.out::println);

可以看到同样分好组了

相关文章
|
6月前
JDK8之stream流的使用:分组
JDK8之stream流的使用:分组
285 0
|
6月前
|
存储 Java API
Stream流
Stream流
63 1
|
6月前
使用lamba中stream 进行分组统计
使用lamba中stream 进行分组统计
|
5月前
|
存储 Java API
Java——Stream流(1/2):Stream流入门、Stream流的创建(认识Stream、体验Stream流、Stream流的使用步骤、获取Stream流的方法)
Java——Stream流(1/2):Stream流入门、Stream流的创建(认识Stream、体验Stream流、Stream流的使用步骤、获取Stream流的方法)
82 0
|
5月前
|
API
Stream流知识
Stream流知识
31 0
java流是指在Java中用来读写数据的一组有序的数据序列,它可以将数据从一个地方带到另一个地方。java流分为输入流和输出流,输入流是从源读取数据的流,而输出流是将数据写入到目的地的流。Java流又可以分为字节流和字符流,字节流读取的最小单位是一个字节(1byte=8bit),而字符流一次可以读取一个字符(1char = 2byte = 16bit)。Java流还可以分为节点流和处理流,节点流是直接从一个源读写数据的流(这个流没有经过包装和修饰),处理流是在对节点流封装的基础上的一种流。
123 0
|
6月前
|
前端开发 数据库
【Stream流】Sort排序详解
【Stream流】Sort排序详解
147 0
|
Java
stream流操作
stream流操作
74 0
|
6月前
|
Java
Stream流教程
Stream流教程
68 0
|
SQL JavaScript 前端开发
开始使用流
Java 8 中的 Stream 俗称为流,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念 Stream 用于对集合对象进行各种非常便利、高效的聚合操作,或者大批量数据操作 Stream API 借助于 Lambda 表达式,极大的提高编程效率和程序可读性 同时它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势 通过下面的例子我们可以初步体会到使用 Stream 处理集合的便利性
52 1