java8新增Stream流接口
目录java.util.stream.Stream
获取流的方法:
1、通过集合获取流
ArrayList<String> al = new ArrayList<>();
Stream<String> st = al.stream();
2、通过数组获取流
Integer<String> integer = {1,2};
Stream<Integer> st = Stream.of(integer);
Stream接口的映射方法map()
//将字符串映射为整型
ArrayList<String> al = new ArrayList<>();
al.add("100");
//使用lambda表达式
Stream<Integer> stream = al.stream().map((String str) ->
return Integer.parseInt(str));
//使用静态方法/成员方法
Stream<Integer> stream = al.stream().map(Integer::parseInt);
Stream接口的过滤方法filter()
如果希望对流中的元素进行过滤,则调用filter()方法
filter(能产生boolean结果的lambda):如果lambda返回值为true,则要元素
如果false,则不要元素。
ArrayList<String> al = new ArrayList<>();
al.add("100");
Stream<String> stream = al.stream().map(Integer::parseInt).map(n->n>90);
Stream接口的遍历方法forEach()
forEach(Lambda表达式):意思是对流中的每一个元素都进行操作
参数Lambda表达式参数必须只有一个,而且没有返回值。
al.stream().forEach(str->{System.out.print(str);});
al.stream().forEach(System.out::print);
获取并发流
1、直接获取并发流: al.parallelStream();
2、由普通流变为并发流: al.stream().parallel();