Java Stream 中间方法详解:示例说明
Java 中的 Stream 流是一种用于处理集合数据的高级抽象概念。它提供了一种流式处理数据的方式,可以进行各种转换、过滤和操作。Stream 流有两种方法:中间方法和终端方法。中间方法用于转换和处理数据,而终端方法用于结束流的处理并返回结果。
下面是几个生动形象的例子,详细解释了 Java 中 Stream 流的中间方法:
-
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] -
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] -
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] -
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] -
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 流的中间方法的使用方式和效果。通过使用这些方法,我们可以对流中的元素进行过滤、转换、排序等操作,从而实现更加灵活和高效的数据处理。
原文地址: https://www.cveoy.top/t/topic/mymD 著作权归作者所有。请勿转载和采集!