Stream概述

List collect = list.stream().filter(t -> t.getAge() == 3).collect(Collectors.toList());

创建Stream

  1. List<Integer> list = new ArrayList<>();
  2. list.stram();
  3. Arrays.stream(new int[]{1,2,3,4});
  4. Stream.of(list);

使用Stream

遍历和匹配(find,forEach,match)

  1. package Lambda_Stream.Stream;
  2. import java.util.Arrays;
  3. import java.util.List;
  4. import java.util.Optional;
  5. public class StreamTest01 {
  6. public static void main(String[] args) {
  7. List<Integer> list = Arrays.asList(1, 1,2, 3, 414, 21, 24, 4);
  8. //顺序遍历
  9. list.stream().forEach(System.out::println);
  10. System.out.println("----------------------------------");
  11. //并行遍历 -- 多个线程
  12. list.parallelStream().forEach(System.out::println);
  13. System.out.println("----------------------------------");
  14. //遍历符合条件的元素
  15. list.stream().filter(t -> t>6).forEach(System.out::println);
  16. System.out.println("----------------------------------");
  17. //匹配第一个
  18. Optional<Integer> first = list.stream().filter(t -> t > 6).findFirst();
  19. Integer integer = first.get();
  20. System.out.println(integer);
  21. System.out.println("----------------------------------");
  22. //时候包含特定的元素
  23. boolean b = list.stream().anyMatch(t -> t ==1);
  24. System.out.println(b);
  25. System.out.println("----------------------------------");
  26. }
  27. }

过滤器(filter)

  1. list.stream().filter(t ->t.getSalary() > 8000).collect(Collectors.toList())

聚合(max,min,count)