Java8 Stream流常用操作

Java 8引入了Stream API,是一种新的API,用于处理集合数据。它使得对集合数据的处理变得更加简单和高效。Stream API可以用于执行各种操作,如过滤、映射、排序、归约等。

以下是Java 8 Stream API的一些示例用法:

  1. 过滤操作

可以使用filter()方法过滤Stream中的元素。例如,从一个字符串列表中找出以“a”字母开头的所有字符串:

List<String> list = Arrays.asList("apple", "banana", "orange");

List<String> filteredList = list.stream()
    .filter(str -> str.startsWith("a"))
    .collect(Collectors.toList());
  1. 映射操作

可以使用map()方法将Stream中的元素进行转换。例如,将一个字符串列表中的所有字符串转换为大写形式:

List<String> list = Arrays.asList("apple", "banana", "orange");

List<String> upperCaseList = list.stream()
    .map(String::toUpperCase)
    .collect(Collectors.toList());
  1. 排序操作

可以使用sorted()方法对Stream中的元素进行排序。例如,将一个数字列表按照从小到大的顺序排序:

List<Integer> list = Arrays.asList(5, 8, 2, 4, 1);

List<Integer> sortedList = list.stream()
    .sorted()
    .collect(Collectors.toList());
  1. 归约操作

可以使用reduce()方法将Stream中的元素归约为一个值。例如,计算一个数字列表中所有元素的和:

List<Integer> list = Arrays.asList(5, 8, 2, 4, 1);

int sum = list.stream()
    .reduce(0, (a, b) -> a + b);
  1. 并行处理操作

可以使用parallelStream()方法将Stream中的所有元素并行处理。例如,计算一个数字列表中所有元素的和:

List<Integer> list = Arrays.asList(5, 8, 2, 4, 1);

int sum = list.parallelStream()
    .reduce(0, (a, b) -> a + b);
  1. 统计操作

可以使用count()方法统计Stream中的元素个数。例如,统计一个字符串列表中所有元素的个数:

List<String> list = Arrays.asList("apple", "banana", "orange");

long count = list.stream()
    .count();
  1. forEach操作

可以使用forEach()方法遍历Stream中的所有元素。例如,打印一个数字列表中所有元素的值:

List<Integer> list = Arrays.asList(5, 8, 2, 4, 1);

list.stream()
    .forEach(System.out::println);
  1. 匹配操作

可以使用anyMatch()、allMatch()、noneMatch()方法匹配Stream中是否存在满足条件的元素。例如,判断一个数字列表中是否存在元素值为8的元素:

List<Integer> list = Arrays.asList(5, 8, 2, 4, 1);

boolean isExist = list.stream()
    .anyMatch(num -> num == 8);

这些是Java 8 Stream API的一些示例用法。使用Stream API可以大大简化集合数据的处理,提高效率和性能。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值