创建Stream方式一:通过集合
创建Stream方式二:通过数组
创建Stream方式三:通过Stream.of()
创建Stream方式四:通过Stream.iterate(),创建无限流
/**
* 创建Stream方式一:通过集合
*/
@Test
public void test1() {
List<Employee> employeeList = new ArrayList<>();
employeeList.add(new Employee(1, "张三", 18, 9999.99));
employeeList.add(new Employee(2, "李四", 59, 6666.66));
employeeList.add(new Employee(3, "王五", 28, 3333.33));
employeeList.add(new Employee(4, "赵六", 8, 7777.77));
employeeList.add(new Employee(5, "田七", 38, 5555.55));
employeeList.add(new Employee(6, "马云", 35, 9876.23));
employeeList.add(new Employee(7, "比尔盖茨", 67, 5637.78));
//创建一个顺序流,使用stream()方法
Stream<Employee> stream = employeeList.stream();
//创建一个并行流,使用parallelStream()方法
Stream<Employee> parallelStream = employeeList.parallelStream();
}
/**
* 创建Stream方式二:通过数组
*/
@Test
public void test2() {
int[] arr = new int[]{1, 3, 5, 7, 9};
IntStream stream = Arrays.stream(arr);
Employee e1 = new Employee(1, "张三", 18, 9999.99);
Employee e2 = new Employee(2, "李四", 59, 6666.66);
Employee[] employees = new Employee[]{e1, e2};
Stream<Employee> stream1 = Arrays.stream(employees);
}
/**
* 创建Stream方式三:通过Stream.of()
*/
@Test
public void test3() {
Stream<String> stream = Stream.of("aa", "bb", "cc");
}
/**
* 创建Stream方式四:通过Stream.iterate(),创建无限流
*/
@Test
public void test4() {
//遍历前10个偶数
Stream<Integer> stream = Stream.iterate(0, x -> x + 2).limit(10);
stream.forEach(System.out::println);
//生成10个随机数
Stream<Double> stream1 = Stream.generate(Math::random).limit(10);
stream1.forEach(System.out::println);
}