/**
* Stream的使用
* @date 2020/11/15 21:36
*/
public class Demo5 {
public static void main(String[] args) {
//1、Collection对象中stream()和parallelStream 方法
ArrayList<String> arrayList=new ArrayList<>();
arrayList.add("apple");
arrayList.add("huawei");
arrayList.add("xiaomi");
Stream<String> stream = arrayList.stream();
// Stream<String> stream = arrayList.parallelStream();//多线程
// stream.forEach(e-> System.out.println(e));
stream.forEach(System.out::println);
System.out.println("-------------------------");
//2、Arrays工具类的stream方法
String[]arr={"aaa","bbb","ccc"};
Stream<String> stream2= Arrays.stream(arr);
stream2.forEach(System.out::println);
System.out.println("-------------------------");
//3、Stream接口中的of、iterate、generate方法
Stream<Integer> integerStream = Stream.of(20, 30, 40, 60);
integerStream.forEach(System.out::println);
System.out.println("-------------------------");
//迭代流
Stream<Integer> iterate = Stream.iterate(0, x -> x + 2);
iterate.limit(5).forEach(System.out::println);
System.out.println("-------------------------");
//生成流
Stream<Integer> generate = Stream.generate(() -> new Random().nextInt(100));
generate.limit(10).forEach(System.out::println);
System.out.println("-------------------------");
//4、IntStream、LongStream、DoubleStream 的of、range、rangeClosed
IntStream intStream = IntStream.of(100, 200, 300);
intStream.forEach(System.out::println);
IntStream range = IntStream.range(0, 5);//非闭合的 0-4
IntStream range2 = IntStream.rangeClosed(0, 5); //闭合的 0-5
range.forEach(System.out::println);
}
}
输出结果为:
apple
huawei
xiaomi
-------------------------
aaa
bbb
ccc
-------------------------
20
30
40
60
-------------------------
0
2
4
6
8
-------------------------
87
3
68
55
83
71
99
92
88
96
-------------------------
100
200
300
0
1
2
3
4