Stream如何对集合元素进行转换

发布时间:2025-02-06 06:23:25 作者:小樊
来源:亿速云 阅读:95

在Java中,你可以使用Stream API对集合元素进行转换。Stream API提供了一种高效且函数式的方式来处理集合数据。以下是一些常见的集合元素转换操作:

  1. 映射(Map):将集合中的每个元素应用一个函数,并将结果收集到一个新的集合中。
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);

        // 将每个元素乘以2
        List<Integer> doubledNumbers = numbers.stream()
                .map(number -> number * 2)
                .collect(Collectors.toList());

        System.out.println(doubledNumbers); // 输出:[2, 4, 6, 8, 10]
    }
}
  1. 过滤(Filter):根据给定的条件,从集合中筛选出满足条件的元素,并将它们收集到一个新的集合中。
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);

        // 筛选出偶数
        List<Integer> evenNumbers = numbers.stream()
                .filter(number -> number % 2 == 0)
                .collect(Collectors.toList());

        System.out.println(evenNumbers); // 输出:[2, 4]
    }
}
  1. 扁平化(FlatMap):将嵌套的集合展平为一个单一的集合。
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<List<Integer>> nestedLists = Arrays.asList(
                Arrays.asList(1, 2),
                Arrays.asList(3, 4),
                Arrays.asList(5, 6)
        );

        // 将嵌套列表展平为一个单一列表
        List<Integer> flattenedList = nestedLists.stream()
                .flatMap(list -> list.stream())
                .collect(Collectors.toList());

        System.out.println(flattenedList); // 输出:[1, 2, 3, 4, 5, 6]
    }
}
  1. 排序(Sort):对集合中的元素进行排序。
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;

public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(5, 3, 1, 4, 2);

        // 对列表进行升序排序
        List<Integer> sortedNumbers = numbers.stream()
                .sorted()
                .collect(Collectors.toList());

        System.out.println(sortedNumbers); // 输出:[1, 2, 3, 4, 5]
    }
}

这些示例展示了如何使用Stream API对集合元素进行转换。你可以根据需要组合使用这些操作,以实现更复杂的数据处理任务。

推荐阅读:
  1. Java中int转String和String转int方法是什么
  2. Java8怎么快速实现List转map 、分组、过滤等操作

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java

上一篇:Java Stream如何处理流中的null值

下一篇:Stream API如何优化集合操作性能

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》