如何用Stream API简化集合操作

发布时间:2025-02-13 20:54:13 作者:小樊
来源:亿速云 阅读:93

Java 8 引入的 Stream API 可以让你以声明式方式处理集合数据,它提供了一种简洁、高效的方式来执行常见的集合操作。以下是一些使用 Stream API 简化集合操作的示例:

  1. 过滤(Filtering): 假设你有一个 List,你想从中筛选出所有偶数。使用传统的循环和条件语句,代码可能会显得冗长。但使用 Stream API,你可以用一行代码实现相同的功能:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
List<Integer> evenNumbers = numbers.stream()
                                  .filter(n -> n % 2 == 0)
                                  .collect(Collectors.toList());
  1. 映射(Mapping): 假设你有一个 List,其中包含一些字符串,你想将每个字符串转换为其长度。使用 Stream API,你可以轻松地实现这一点:
List<String> words = Arrays.asList("apple", "banana", "cherry");
List<Integer> lengths = words.stream()
                            .map(String::length)
                            .collect(Collectors.toList());
  1. 排序(Sorting): 假设你有一个 List,你想对其进行排序。使用 Stream API,你可以用一行代码实现排序:
List<Integer> numbers = Arrays.asList(5, 2, 9, 1, 5, 6);
List<Integer> sortedNumbers = numbers.stream()
                                    .sorted()
                                    .collect(Collectors.toList());
  1. 聚合(Aggregation): 假设你有一个 List,你想计算其中所有数字的总和。使用 Stream API,你可以轻松地实现这一点:
List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int sum = numbers.stream()
                 .mapToInt(Integer::intValue)
                 .sum();
  1. 分组(Grouping): 假设你有一个 List,其中包含一些对象,你想根据对象的某个属性对其进行分组。使用 Stream API 和 Collectors.groupingBy() 方法,你可以轻松地实现这一点:
class Person {
    String name;
    int age;
    // getters and setters
}

List<Person> people = Arrays.asList(
    new Person("Alice", 25),
    new Person("Bob", 30),
    new Person("Charlie", 25)
);

Map<Integer, List<Person>> peopleByAge = people.stream()
                                            .collect(Collectors.groupingBy(Person::getAge));

这些示例展示了如何使用 Stream API 简化常见的集合操作。通过使用 Stream API,你可以编写更简洁、更易读的代码,同时提高代码的可维护性。

推荐阅读:
  1. Java8 Stream不好用?如何通过 IntelliJ IDEA 提升撸码效率
  2. 怎么使用Java Stream

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:Stream API中的并行流如何使用

下一篇:Stream API中有哪些常用中间操作

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》