flatMap 流元素合并
public static void testFlatMap(List<User> userList1 , List<User> userList2){List<List<User>> lists = new ArrayList<>();
lists.add(userList1);
lists.add(userList2);
//将集合里的元素(集合)转为流,再将流组合为一个大的集合
List<User> collect = lists.stream().flatMap(item -> item.stream()).collect(Collectors.toList());
//合并集合
collect.forEach(System.out::println);
}
distinct 去重
//测试distinct 去重public static void testDistinct(){
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(1);
List<Integer> collect = list.stream().distinct().collect(Collectors.toList());
collect.forEach(o-> System.out.println(o));
}
sorted 排序
//测试sorted 排序public static void testSort(){
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(1);
List<Integer> collect = list.stream().sorted((o1, o2) -> o1 - o2).collect(Collectors.toList());//升序排序
List<Integer> collect2 = list.stream().sorted((o1, o2) -> o2 - o1).collect(Collectors.toList());//降序排序
}
limit 限流,只取几个元素
//测试limit限读public static void testLimit(){
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(1);
List<Integer> collect = list.stream().limit(1).collect(Collectors.toList());
System.out.println(collect.size());
}
skip 跳过读取
//测试skip 跳过读取操作public static void testSkip(){
List<Integer> list = new ArrayList<>();
list.add(1);
list.add(2);
list.add(1);
List<Integer> collect = list.stream().skip(2).collect(Collectors.toList());
collect.forEach(o-> System.out.println(o));
} Collectors收集器