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

迭代、过滤和映射:Java中的10个函数

发布时间:2023-06-11 14:53:01

Java中的函数式编程风格日益流行,因为它使代码更简洁,更可读,更易于维护和测试。这种编程风格中的三大核心概念是迭代(iterating)、过滤(filtering)和映射(mapping)。本文将介绍Java中的10个常用函数,这些函数可以帮助你更好地应用迭代、过滤和映射的思想来编写代码。

1. forEach

forEach函数可以遍历集合或数组中的每个元素,并对每个元素执行指定的操作。例如,下面的代码将打印出数组arr中的每个元素:

int[] arr = {1, 2, 3, 4, 5};
Arrays.stream(arr).forEach(System.out::println);

2. filter

filter函数可以根据指定的条件过滤出集合或数组中符合条件的元素。例如,下面的代码将输出数组arr中的所有偶数:

int[] arr = {1, 2, 3, 4, 5};
Arrays.stream(arr).filter(n -> n % 2 == 0).forEach(System.out::println);

3. map

map函数可以将集合或数组中的每个元素映射为另一个元素。例如,下面的代码将数组arr中的每个元素都乘以2并输出:

int[] arr = {1, 2, 3, 4, 5};
Arrays.stream(arr).map(n -> n * 2).forEach(System.out::println);

4. reduce

reduce函数可以根据指定的规则将集合或数组中的元素聚合为一个结果。例如,下面的代码将数组arr中的所有元素相加并输出结果:

int[] arr = {1, 2, 3, 4, 5};
int sum = Arrays.stream(arr).reduce(0, (a, b) -> a + b);
System.out.println(sum);

5. min

min函数可以返回集合或数组中的最小值。例如,下面的代码将输出数组arr中的最小值:

int[] arr = {1, 2, 3, 4, 5};
int min = Arrays.stream(arr).min().getAsInt();
System.out.println(min);

6. max

max函数可以返回集合或数组中的最大值。例如,下面的代码将输出数组arr中的最大值:

int[] arr = {1, 2, 3, 4, 5};
int max = Arrays.stream(arr).max().getAsInt();
System.out.println(max);

7. count

count函数可以返回集合或数组中元素的个数。例如,下面的代码将输出数组arr中的元素个数:

int[] arr = {1, 2, 3, 4, 5};
long count = Arrays.stream(arr).count();
System.out.println(count);

8. sum

sum函数可以返回集合或数组中所有元素的和。例如,下面的代码将输出数组arr中所有元素的和:

int[] arr = {1, 2, 3, 4, 5};
int sum = Arrays.stream(arr).sum();
System.out.println(sum);

9. sorted

sorted函数可以将集合或数组中的元素按照指定的规则排序。例如,下面的代码将输出数组arr中排序后的元素:

int[] arr = {5, 4, 3, 2, 1};
Arrays.stream(arr).sorted().forEach(System.out::println);

10. distinct

distinct函数可以去重集合或数组中重复的元素。例如,下面的代码将输出数组arr中去重后的元素:

int[] arr = {1, 2, 3, 2, 1};
Arrays.stream(arr).distinct().forEach(System.out::println);

以上就是Java中的10个常用函数。这些函数可以让你更加方便地实现迭代、过滤和映射的思想,使代码更加简洁、可读和易于维护。