Java8 Stream的使用

Java8 Stream的使用

目的: 提高生产力,写出高效率、干净、简洁的代码

1. forEach

forEach方法迭代流中的每个数据

List<String> list = Arrays.asList("a", "b", "c", "d", "e");
list.stream().forEach(item-> System.out.println(item)); 

2. filter

filter方法用于通过设置的条件过滤出元素

List<String> list = Arrays.asList("a", "", "b", "c", "", "d");
// 过滤掉空的字符串
list.stream().filter(item -> !item.isEmpty()).forEach(s -> System.out.println(s));

3.map

map 方法用于映射每个元素到对应的结果

//需求: 使用 map 输出了元素对应的平方数
List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
//获取对应的平方数
List<Integer> squaresList = numbers.stream()
    .map(i -> i * i).distinct().collect(Collectors.toList());
System.out.println(squaresList);
//[9, 4, 49, 25]

4.limit

limit 方法用于获取指定数量的流

List<Integer> numbers = Arrays.asList(3, 2, 2, 3, 7, 3, 5);
// 获取前3条数据
numbers.stream().limit(3).forEach(item -> System.out.println(item));

5.sorted

sorted 方法用于对流进行排序

List<Integer> numbers = Arrays.asList(3, 2, 2,7,5);
// 排序(正序)
numbers.stream().sorted().forEach(item -> System.out.println(item));
posted @ 2021-08-30 08:58  RNGException  阅读(45)  评论(0编辑  收藏  举报