背景
java项目中存在大量的集合操作,java8之前代码中场景的处理方式就是通过集合遍历的方式处理,写法不是很优雅。java8时代提供了stream的编程模型,在内存中实现类数据的查询功能,代码简洁高效,是java程序员追求的理想写法。把函数式编程风格引入到了java集合中来,让代码编写优雅大方学多,本文也来总结一下stream的简单原理以及常用的应用方式。
stream原理
todo
stream常用操作
todo
- 中间操作
- stateless
- stateful
- 结束操作
- 短路操作
- 非短路操作
stream应用场景
- 字段维度分组 Map<Long, List<Long>>
Map> map = list.stream().collect( Collectors.groupingBy(item::getId, Collectors.mapping(item::getItemId, Collectors.toSet())) );