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

在Java中使用集合函数处理数据的实例

发布时间:2023-06-25 11:33:49

Java中常用的集合函数有很多,包括过滤、映射、归约等等。这些函数在处理数据时非常方便,并且可以大大简化代码量。本文将介绍在Java中使用集合函数处理数据的实例。

1. 过滤

过滤是指根据某些条件筛选出集合中满足条件的元素,Java中使用的是filter()函数。例如,我们有一个整形数字的集合,需要筛选出其中所有偶数:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
List<Integer> evenNumbers = numbers.stream()
        .filter(n -> n%2 == 0)
        .collect(Collectors.toList());
System.out.println(evenNumbers); // 输出 [2, 4, 6, 8, 10]

在上述代码中,我们使用了Lambda表达式n -> n%2 == 0来定义过滤条件,即判断数字n是否是偶数。

2. 映射

映射是指将集合中的每个元素都映射为另一个值,Java中使用的是map()函数。例如,我们有一个字符串的集合,需要将其中每个字符串转换为大写:

List<String> words = Arrays.asList("hello", "world", "java");
List<String> upperWords = words.stream()
        .map(String::toUpperCase)
        .collect(Collectors.toList());
System.out.println(upperWords); // 输出 [HELLO, WORLD, JAVA]

在上述代码中,我们使用了String::toUpperCase方法引用来将字符串转换为大写。

3. 归约

归约是指将集合中的元素通过某种方式聚合为一个值,Java中使用的是reduce()函数。例如,我们有一个整型数字的集合,需要将其所有元素相加得到总和:

List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);
int sum = numbers.stream().reduce(0, Integer::sum);
System.out.println(sum); // 输出 55

在上述代码中,我们使用了Integer::sum方法引用来定义聚合方式,即通过相加来得到总和。

除了这三种集合函数,Java中还有很多其他的函数,如排序、分组、去重等等。这些函数可以帮助我们更加便捷地处理数据,提高代码的可读性和可维护性。