Java Stream的基本使用方法

Java Stream的基本使用方法

Java Stream是一种新的数据处理方式,它可以在不改变原有数据的情况下进行各种操作。Java Stream使用了一种惰性求值的方式,只有在需要数据时才进行计算,这样可以减少内存的使用和提高程序的效率。 Java Stream提供了很多方法,下面我们来详细介绍一下这些方法的使用。

  1. filter方法 filter方法可以将一个Stream中的元素按照指定条件进行过滤,只保留符合条件的元素。例如,我们可以使用filter方法来过滤掉一个List中的空元素。
List<String> list = Arrays.asList("apple", "", "banana", "cherry", "", "date");
List<String> filteredList = list.stream().filter(item -> !item.isEmpty()).collect(Collectors.toList());
System.out.println(filteredList);

​ 输出:[apple, banana, cherry, date]

  1. map方法 map方法可以将一个Stream中的元素按照指定规则进行转换。例如,我们可以使用map方法将一个List中的字符串都转换成大写。
List<String> list = Arrays.asList("apple", "banana", "cherry", "date");
List<String> upperList = list.stream().map(String::toUpperCase).collect(Collectors.toList());
System.out.println(upperList);

输出:[APPLE, BANANA, CHERRY, DATE]

  1. flatMap方法 flatMap方法可以将一个Stream中的元素按照指定规则进行扁平化操作。例如,我们可以使用flatMap方法将一个List中的多个数组合并成一个数组。
List<Integer[]> list = Arrays.asList(new Integer[]{1, 2}, new Integer[]{3, 4}, new Integer[]{5, 6});
List<Integer> flatList = list.stream().flatMap(Arrays::stream).collect(Collectors.toList());
System.out.println(flatList);

输出:[1, 2, 3, 4, 5, 6]

  1. sorted方法 sorted方法可以将一个Stream中的元素按照指定规则进行排序。例如,我们可以使用sorted方法将一个List中的元素按照字典顺序排序。
List<String> list = Arrays.asList("apple", "banana", "cherry", "date");
List<String> sortedList = list.stream().sorted().collect(Collectors.toList());
System.out.println(sortedList);

输出:[apple, banana, cherry, date]

  1. distinct方法 distinct方法可以将一个Stream中的元素去重。例如,我们可以使用distinct方法将一个List中的重复元素去掉。
List<String> list = Arrays.asList("apple", "banana", "cherry", "date", "apple");
List<String> distinctList = list.stream().distinct().collect(Collectors.toList());
System.out.println(distinctList);

输出:[apple, banana, cherry, date]

  1. limit方法和skip方法 limit方法和skip方法可以对一个Stream中的元素进行限制和跳过操作。例如,我们可以使用limit方法和skip方法对一个List中的元素进行分页操作。
List<String> list = Arrays.asList("apple", "banana", "cherry", "date", "elderberry", "fig", "grape");
List<String> pageList = list.stream().skip(2).limit(3).collect(Collectors.toList());
System.out.println(pageList);

输出:[cherry, date, elderberry]

  1. reduce方法 reduce方法可以将一个Stream中的元素按照指定规则进行归约操作。例如,我们可以使用reduce方法求一个List中的所有元素的和。
javaCopy codeList<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
int sum = list.stream().reduce(0, Integer::sum);
System.out.println(sum);

输出:15

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值