API使用疑问:Java 8的流(Stream)操作有哪些常见用法?

原创 灰太狼 2024-11-25 20:00 182阅读 0赞

在Java 8中,Stream是一种处理集合元素的新方式。它提供了一种更加灵活、高效的方法来遍历和操作数据。

以下是一些常见的Stream操作用法:

  1. 过滤(filter):根据给定的条件,从流中选择满足条件的元素。
  1. List<String> names = Arrays.asList("Alice", "Bob", "Charlie");
  2. names = names.stream()
  3. .filter(name -> name.startsWith("C")) // 仅保留以"C"开头的名字
  4. .collect(Collectors.toList()));
  1. 映射(map):将流中的每个元素转换为新的值。
  1. Integer[] numbers = {1, 2, 3, 4, 5};
  2. numbers = numbers.stream()
  3. .map(number -> number * 2)) // 将每个数字乘以2
  4. .collect(Collectors.toList()));
  1. 分组(groupingBy):根据给定的键将流中的元素进行分组。
  1. List<String> emails = Arrays.asList("alice@example.com", "bob@example.com", "charlie@example.co.uk"));
  2. Map<String, List<String>> groupedEmails = emails.stream()
  3. .collect(Collectors.groupingBy(email -> email.split("@")[0]))));
  1. 排序(sorted):对流中的元素进行排序,可按升序或降序。
  1. List<Integer> numbers = Arrays.asList(3, 1, 4), // 示例数据
  2. Arrays.asList(2, 5)); // 另一个示例数据
  3. numbers.stream()
  4. .collect(Collectors.groupingBy(number -> number % 2 == 0 ? 1 : -1)))) // 按奇偶性分组
  5. .values() // 获取所有奇数分组的值列表
  6. .sorted(Comparator.reverseOrder())); // 对列表进行降序排序

以上就是Java 8流操作的一些常见用法。实际使用时,可以根据需求调整这些操作。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,182人围观)

还没有评论,来说两句吧...

相关阅读