Stream流创建的四种方式
package com.xiaobu.lambda.java3;
import com.xiaobu.lambda.java2.Employee;
import com.xiaobu.lambda.java2.EmployeeData;
import org.junit.Test;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;
public class StreamAPITest {
@Test
public void test1(){
List<Employee> employees = EmployeeData.getEmployees();
Stream<Employee> stream = employees.stream();
Stream<Employee> parallelStream = employees.parallelStream();
}
@Test
public void test2(){
int[] arr = new int[]{1,2,3,4,5,6};
IntStream stream = Arrays.stream(arr);
Employee e1 = new Employee(1001,"Tom");
Employee e2 = new Employee(1002,"Jerry");
Employee[] arr1 = new Employee[]{e1,e2};
Stream<Employee> stream1 = Arrays.stream(arr1);
}
@Test
public void test3(){
Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5, 6);
}
@Test
public void test4(){
Stream.iterate(0, t -> t + 2).limit(10).forEach(System.out::print);
System.out.println();
Stream.iterate(1,t->t+2).limit(5).forEach(System.out::print);
System.out.println();
Stream.generate(Math::random).limit(10).forEach(System.out::println);
List<Double> collect = Stream.generate(Math::random).limit(10).collect(Collectors.toList());
Stream.generate(Math::random).limit(10).collect(Collectors.toList());
}
}