欢迎访问宙启技术站
智能推送

JavaStreamAPI中常用函数的使用及实例

发布时间:2023-07-05 20:44:49

JavaStreamAPI是Java 8中引入的一种编程模式,它提供了非常方便的函数式编程特性,可以简化代码并提高代码的可读性。在Java Stream API中,有一些常用的函数可以帮助我们进行数据的处理和转换,下面是这些常用函数的使用及实例。

1. map函数:将一个流中的元素按照给定的函数进行映射,并返回一个新的流。示例代码如下:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> squaredNumbers = numbers.stream()
                                      .map(n -> n * n)
                                      .collect(Collectors.toList());

2. filter函数:根据给定的条件过滤流中的元素,并返回一个新的流。示例代码如下:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> evenNumbers = numbers.stream()
                                   .filter(n -> n % 2 == 0)
                                   .collect(Collectors.toList());

3. forEach函数:对流中的每个元素执行给定的操作。示例代码如下:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
numbers.stream()
       .forEach(n -> System.out.println(n));

4. collect函数:将流中的元素转换为指定的数据结构,如List、Set或Map。示例代码如下:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
Set<Integer> numberSet = numbers.stream()
                                .collect(Collectors.toSet());

5. reduce函数:将流中的元素进行归约操作,得到一个最终结果。示例代码如下:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
int sum = numbers.stream()
                 .reduce(0, (a, b) -> a + b);

6. sorted函数:对流中的元素进行排序,并返回一个新的流。示例代码如下:

List<Integer> numbers = Arrays.asList(5, 1, 4, 2, 3);
List<Integer> sortedNumbers = numbers.stream()
                                      .sorted()
                                      .collect(Collectors.toList());

以上是Java Stream API中常用的几个函数的使用及实例,这些函数可以非常方便地进行数据的处理和转换,大大提高了开发效率。在实际应用中,我们可以根据具体的需求选择合适的函数来对流进行处理,从而达到我们的目的。