toMap 对象元素转map集合
//测试collect收集器 toMappublic static void testCollectToMap(List<User> userList){
//以元素的name作为k,age作为v转为map集合
Map<String, Integer> collect = userList.stream().collect(Collectors.toMap(User::getName, User::getAge));
collect.forEach((o1,o2)-> System.out.println("K:"+o1+":V:"+o2));
}
toSet 转为不可重复集合
//测试collect收集器 toSet //不可重复public static void testCollectToSet(List<Integer>list){
Set<Integer> collect = list.stream().collect(Collectors.toSet());
collect.forEach(System.out::println);
}
groupingBy 集合对象分组
//测试groupingBy 分组public static void testCollectGroupingBy(List<User> list){
Map<String, List<User>> collect = list.stream().collect(Collectors.groupingBy(User::getName));
collect.forEach((o1,o2)-> System.out.println("K:"+o1+"--V:"+o2));
}
maxBy 取集合最大元素
//测试maxBy 获取最大元素public static void testMaxBy(List<User> list){
//获取user对象中年龄最大的
Optional<User> collect = list.stream().collect(Collectors.maxBy((o1, o2) -> o1.getAge() - o2.getAge()));
System.out.println(collect.get());//拿到user对象
}
minBy 取集合最小元素
//测试minBy 获取最小元素public static void testMinBy(List<User> list){
Optional<User> collect = list.stream().collect(Collectors.minBy((o1, o2) -> o1.getAge() - o2.getAge()));
System.out.println(collect.get());
}