Java 中的 Stream 流是一种用于处理集合数据的高级抽象概念。它提供了一种流式处理数据的方式,可以进行各种转换、过滤和操作。Stream 流有两种方法:中间方法和终端方法。中间方法用于转换和处理数据,而终端方法用于结束流的处理并返回结果。

下面是几个生动形象的例子,详细解释了 Java 中 Stream 流的中间方法:

  1. filter() 方法:该方法用于根据指定的条件过滤流中的元素。例如,我们有一个包含整数的流,我们可以使用 filter() 方法过滤出所有大于 10 的元素:

    List<Integer> numbers = Arrays.asList(5, 10, 15, 20, 25);
    List<Integer> filteredNumbers = numbers.stream()
                                             .filter(n -> n > 10)
                                             .collect(Collectors.toList());
    System.out.println(filteredNumbers); // 输出:[15, 20, 25]
    
  2. map() 方法:该方法用于对流中的每个元素执行指定的操作,并将结果返回为一个新的流。例如,我们有一个包含字符串的流,我们可以使用 map() 方法将每个字符串转换为大写:

    List<String> names = Arrays.asList("John", "Bob", "Alice");
    List<String> upperCaseNames = names.stream()
                                        .map(String::toUpperCase)
                                        .collect(Collectors.toList());
    System.out.println(upperCaseNames); // 输出:[JOHN, BOB, ALICE]
    
  3. sorted() 方法:该方法用于对流中的元素进行排序。例如,我们有一个包含整数的流,我们可以使用 sorted() 方法将它们按升序排序:

    List<Integer> numbers = Arrays.asList(5, 2, 10, 7, 3);
    List<Integer> sortedNumbers = numbers.stream()
                                           .sorted()
                                           .collect(Collectors.toList());
    System.out.println(sortedNumbers); // 输出:[2, 3, 5, 7, 10]
    
  4. distinct() 方法:该方法用于去除流中的重复元素。例如,我们有一个包含整数的流,我们可以使用 distinct() 方法去除重复的元素:

    List<Integer> numbers = Arrays.asList(5, 2, 5, 7, 2);
    List<Integer> distinctNumbers = numbers.stream()
                                            .distinct()
                                            .collect(Collectors.toList());
    System.out.println(distinctNumbers); // 输出:[5, 2, 7]
    
  5. limit() 方法:该方法用于限制流的大小,只返回指定数量的元素。例如,我们有一个包含整数的流,我们可以使用 limit() 方法只返回前三个元素:

    List<Integer> numbers = Arrays.asList(5, 10, 15, 20, 25);
    List<Integer> limitedNumbers = numbers.stream()
                                           .limit(3)
                                           .collect(Collectors.toList());
    System.out.println(limitedNumbers); // 输出:[5, 10, 15]
    

这些例子展示了 Java 中 Stream 流的中间方法的使用方式和效果。通过使用这些方法,我们可以对流中的元素进行过滤、转换、排序等操作,从而实现更加灵活和高效的数据处理。

Java Stream 中间方法详解:示例说明

原文地址: https://www.cveoy.top/t/topic/mymD 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录