Java 8 Streams及其操作
流是来自源的对象序列,支持聚合操作。这些是在Java8中引入的。
使用Java8,Collection接口具有两种生成Stream的方法。
stream()-返回一个以集合为源的顺序流。
parallelStream()-返回一个以集合为源的并行Stream。
对流的一些操作是-
sorted-sorted方法用于按字典顺序或升序对流进行排序
List id = Arrays.asList("Objects","Classes","Interfaces");
List output = id.stream().sorted().collect(Collectors.toList());map-map方法根据作为参数传递的谓词将集合中的元素映射到其他对象
List list1= Arrays.asList(1,3,5,7); List finalList = list1.stream().map(a -> a * a * a).collect(Collectors.toList());
filter-filter方法用于根据传递的Predicate参数选择元素
List id = Arrays.asList(“Classes","Methods","Members");
List output = id.stream().filter(s -> s.startsWith("M")).collect(Collectors.toList());上面的三个操作是中间操作。现在让我们看一下终端操作
collect-collect方法返回中间操作的结果
List id = Arrays.asList(“Classes","Methods","Members");
List output = id.stream().filter(s -> s.startsWith("M")).collect(Collectors.toList());forEach-此方法迭代流中的每个元素
List list1 = Arrays.asList(1,3,5,7); List finalList = list1.stream().map(a ->a * a * a).forEach(b->System.out.println(b));
让我们看一个示例来说明Stream的用法-
示例
import java.util.*;
import java.util.stream.*;
public class Example {
public static void main(String args[]) {
List<Integer> list1 = Arrays.asList(11,22,44,21); //creating an integer list
List<String> id = Arrays.asList("Objects","Classes","Methods");
//创建一个字符串列表
//映射方法
List<Integer> answer = list1.stream().map(x -> x*x).collect(Collectors.toList());
System.out.println(answer);
//过滤方法
List<String> output = id.stream().filter(x->x.startsWith("M")).collect(Collectors.toList());
System.out.println(output);
}
}输出结果
[121, 484, 1936, 441] [Methods]
热门推荐
5 短祝福语简短暖心
10 结婚祝福语粤语大全简短
11 晚上祝福语女生文案简短
12 法语妈妈生日祝福语简短
13 药厂开工祝福语大全简短
14 蛋糕节日祝福语简短英文
15 跨年的生日祝福语简短
16 文案祝福语英文短句简短
17 在家聚餐婚礼祝福语简短
18 学生节祝福语大全简短