行业资讯 2025年08月6日
0 收藏 0 点赞 217 浏览 1486 个字
摘要 :

文章目录 1.将 Set 转换为 List 1.1. 使用 List 构造函数 1.2. 使用 List.addAll() 1.3. 使用 Stream 2. 将 List 转换为 Set 2.1. 使用 Set 构造函数 2.2. 使用 Set.……




  • 1.将 Set 转换为 List
    • 1.1. 使用 List 构造函数
    • 1.2. 使用 List.addAll()
    • 1.3. 使用 Stream
  • 2. 将 List 转换为 Set
    • 2.1. 使用 Set 构造函数
    • 2.2. 使用 Set.addAll()
    • 2.3. 使用 Stream

    在 Java 中,List 和 Set 是用于存储元素的集合类型。List 是基于索引的有序集合,而 Set 是无序集合。List 允许重复元素,但 Set 只包含唯一元素。这两种集合类型非常不同,各自有其用例。

    在这个 Java 教程中,学习将指定的 Set 转换为 List。同时,学习将 List 反向转换为 Set,这是从列表中移除重复元素的一个有用方法。

    1.将 Set 转换为 List

    我们将以不同的方式使用以下 Set 到 List 类型。

    Set<Integer> set = Set.of(1, 2, 3);
    

    1.1. 使用 List 构造函数

    要将给定的 Set 转换为 List,我们可以使用 ArrayList 构造函数,并将 HashSet 作为构造函数参数传递。这将把所有元素从 HashSet 复制到新创建的 ArrayList 中。

    ArrayList<Integer> arrayList = new ArrayList(set);
    Assertions.assertEquals(3, arrayList.size());
    

    1.2. 使用 List.addAll()

    获得一个带有 Set 元素的 List 的另一种有用方法是创建一个空的 List 实例,并使用其 addAll() 方法将 Set 的所有元素添加到 List 中。

    ArrayList<Integer> arrayList = new ArrayList<>();
    arrayList.addAll(set);
    Assertions.assertEquals(3, arrayList.size());
    

    1.3. 使用 Stream

    首先将 Set 转换为 Stream,然后将 Stream 元素收集到 List 中。

    List<Integer> list = set.stream().toList();
    Assertions.assertEquals(3, list.size());
    

    2. 将 List 转换为 Set

    当我们想要从列表中移除重复项时,可能需要从指定的 ArrayList 创建一个 HashSet,因为集合不允许重复项。

    让我们首先创建一个 List 实例,然后将其转换为 Set。该列表包含 7 个项目,但只有 4 个唯一项目。因此,在每种方法中,Set 的大小必须为 4。

    List list = List.of(1, 2, 3, 3, 3, 5, 5);
    

    2.1. 使用 Set 构造函数

    与前面的示例类似,我们可以使用构造函数 HashSet(collection) 来初始化一个包含来自 ArrayList 项目的 HashSet。

    Set set = new HashSet(list);
    Assertions.assertEquals(4, set.size());
    

    2.2. 使用 Set.addAll()

    Set.addAll(list) 如果尚未存在,则将指定集合中的所有元素添加到此集合中。

    Set set = new HashSet();
    set.addAll(list);
    Assertions.assertEquals(4, set.size());
    

    2.3. 使用 Stream

    与前一节类似,我们可以使用 Stream 将 set 转换为 list,如下所示:

    Set<Integer> set = list.stream().collect(Collectors.toSet());
    Assertions.assertEquals(4, set.size());
    

    以下就是Java 中Set 和 List互相转换的全部内容。

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/9335.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号