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

Java中使用集合函数对数据进行操作

发布时间:2023-06-23 22:18:50

Java提供了一系列强大的集合函数来操作数据,这些函数包括过滤、转换、聚合等功能。在实际开发中,我们常常需要对数据进行操作,从而得到我们想要的结果。下面将介绍一些常用的集合函数及其使用方法。

一、筛选过滤函数

1. filter 函数

filter 函数用于筛选符合条件的元素,返回一个包含所有符合条件元素的新集合。

eg:

List<Integer> list = Arrays.asList(1,2,3,4,5);
List<Integer> result = list.stream().filter(item -> item > 3).collect(Collectors.toList());
System.out.println(result);  // [4, 5]

上面的代码使用 filter 函数筛选出大于 3 的数字,并返回一个新的集合。

2. distinct 函数

distinct 函数用于去除重复的元素,返回一个包含不同元素的新集合。

eg:

List<Integer> list = Arrays.asList(1,2,3,4,4,5,5);
List<Integer> result = list.stream().distinct().collect(Collectors.toList());
System.out.println(result);  // [1, 2, 3, 4, 5]

上面的代码使用 distinct 函数去除重复的数字,并返回一个新的集合。

3. limit 函数

limit 函数用于限制集合中元素的数量,返回一个包含限制数量元素的新集合。

eg:

List<Integer> list = Arrays.asList(1,2,3,4,5,6);
List<Integer> result = list.stream().limit(3).collect(Collectors.toList());
System.out.println(result);  // [1, 2, 3]

上面的代码使用 limit 函数限制返回集合中元素的数量为 3,并返回一个新的集合。

4. skip 函数

skip 函数用于跳过指定数量的元素,返回一个包含跳过元素后剩下的元素的新集合。

eg:

List<Integer> list = Arrays.asList(1,2,3,4,5,6);
List<Integer> result = list.stream().skip(3).collect(Collectors.toList());
System.out.println(result);  // [4, 5, 6]

上面的代码使用 skip 函数跳过前三个数字,并返回一个新的集合。

二、转换函数

1. map 函数

map 函数用于对集合中的元素进行转换,返回一个包含新元素的新集合。

eg:

List<Integer> list = Arrays.asList(1,2,3,4,5);
List<Integer> result = list.stream().map(item -> item * 2).collect(Collectors.toList());
System.out.println(result);  // [2, 4, 6, 8, 10]

上面的代码使用 map 函数将集合中的每个元素都乘以 2,并返回一个新的集合。

2. flatMap 函数

flatMap 函数用于将集合中的每个元素转换成一个新集合,并将所有新集合合并成一个新的集合。

eg:

List<List<Integer>> list = Arrays.asList(Arrays.asList(1,2),Arrays.asList(3,4),Arrays.asList(5,6));
List<Integer> result = list.stream().flatMap(item -> item.stream()).collect(Collectors.toList());
System.out.println(result);  // [1, 2, 3, 4, 5, 6]

上面的代码使用 flatMap 函数将集合中的每个列表都展开成一个新的集合,并将所有新集合合并成一个新的集合。

三、聚合函数

1. reduce 函数

reduce 函数用于对集合元素进行累加、拼接等操作,返回一个聚合后的结果。

eg:

List<Integer> list = Arrays.asList(1,2,3,4,5);
int result = list.stream().reduce(0, (a,b) -> a + b);
System.out.println(result);  // 15

上面的代码使用 reduce 函数对集合元素进行累加,并返回一个聚合后的结果。

2. collect 函数

collect 函数用于将集合转换成一个新集合、map 等类型的集合,返回一个新的集合。

eg:

List<Integer> list = Arrays.asList(1,2,3,4,5);
Set<Integer> result = list.stream().filter(item -> item > 3).collect(Collectors.toSet());
System.out.println(result);  // [4, 5]

上面的代码使用 collect 函数将集合中大于 3 的元素转换成一个 Set 集合,并返回一个新的集合。

以上就是 Java 中常用的集合函数及其使用方法。通过使用这些函数,我们可以方便地对集合进行操作,从而得到我们想要的结果。