迭代、过滤和映射:Java中的10个函数
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个常用函数。这些函数可以让你更加方便地实现迭代、过滤和映射的思想,使代码更加简洁、可读和易于维护。
