- 抽取对象集合的某个属性为一个新的集合
例:
List<Car> carList;
//抽取集合所有车id
List<Long> carIdList = carList.stream().map(Car::getId).collect(Collectors.toList());
2.抽取对象集合的某个属性为一个新的集合,并去重
List<String> list=orderList.stream().map(OrderInfo::getOrderNo).distinct().collect(Collectors.toList());
3.抽取对象集合的某条符合记录的数据
Optional<Cart> cartOptional = cartlist.stream().filter(item -> item.getProductId().equals(1L)).findFirst();
- 根据条件过滤集合中的数据,并抽取对象的两个属性作为map key和value
如:从集合 List<Student> student; 中剥离每个学生信息的id,name为map ,map<id,name>
HashMap<Long, String> studentCodeInfoMap = (HashMap<Long, String>) standardCodeInfoList.stream()
.filter(t -> t.getStudentNo() == null)
.collect(Collectors.toMap(Student::getId, Student::getName, (k1, k2) -> k2));
- 集合分组
List<Order> data;
Map<String, List<Order>> listMap = data.stream().collect(Collectors.groupingBy(Order:getOrderNo));
网友评论