Java中Set集合转为List集合常见的两种方式

 更新时间:2023年12月22日 10:48:59   作者:美女剑豪·  
List是Java中比较常用的集合类,指一系列存储数据的接口和类,可以解决复杂的数据存储问题,这篇文章主要给大家介绍了关于Java中Set集合转为List集合常见的两种方式,需要的朋友可以参考下

将 Set 转为 List 可以有多种方法,以下是两种常见的实现方式:

使用构造方法

可以使用 List 的构造方法 ArrayList(Collection<? extends E> c) 将 Set 转换成 List。具体实现步骤如下:

Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("c");

List<String> list = new ArrayList<>(set);

在上述示例中,首先创建了一个 Set,然后使用 add 方法向 Set 中添加元素。接着,使用 ArrayList 的构造方法将 Set 转换成 ArrayList。

使用 Java 8 的 Stream API

在 Java 8 中,还可以使用 Stream API 来将 Set 转换成 List。具体实现可以使用 stream() 和 collect() 方法,如下所示:

Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("c");

List<String> list = set.stream().collect(Collectors.toList());

在上述示例中,使用 stream() 方法将 Set 转换成 Stream,然后使用 collect() 方法将 Stream 转换成 List。在 collect() 方法中,使用 Collectors.toList() 将 Stream 中的元素收集到一个新的 List 中。

附list转成set:(两种方法)

List<String>list = new ArrayList<String>();
list.add("c");
list.add("d");
list.add("a");
list.add("a");
 
//方法一:
Set<String>set = new HashSet<String>(list);
for(Strings : set) {
    System.out.println(s);
}
 
System.out.println();
 
//方法二:
Set<String>set2 = new HashSet<String>();
set2.addAll(list);
for(Strings : set2) {
    System.out.println(s);
}

注:list转成set后:

  • 可能会丢失数据(因为set不允许重复);
  • 原先在list中的数据顺序就没了。

总结

到此这篇关于Java中Set集合转为List集合常见的两种方式的文章就介绍到这了,更多相关Java Set集合转List集合内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Future cancel迷惑性boolean入参解析

    Future cancel迷惑性boolean入参解析

    这篇文章主要为大家介绍了Future cancel迷惑性boolean入参解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Spring Boot中的JdbcTemplate是什么及用法小结

    Spring Boot中的JdbcTemplate是什么及用法小结

    Spring Boot中的JdbcTemplate是一个强大的数据库访问工具,它简化了数据库操作的过程,在本文中,我们了解了JdbcTemplate的基本概念,并演示了如何在Spring Boot应用程序中使用它,感兴趣的朋友跟随小编一起看看吧
    2023-10-10
  • spring boot 配置Filter过滤器的方法

    spring boot 配置Filter过滤器的方法

    本篇文章主要介绍了spring boot 配置Filter过滤器的方法,实例分析了spring boot 配置Filter过滤器的技巧,有兴趣的可以了解一下。
    2017-03-03
  • 如何用Java将数据库的数据生成pdf返回给前端用户下载

    如何用Java将数据库的数据生成pdf返回给前端用户下载

    本文详细介绍了使用SpringBoot、iText库、MyBatis等技术从数据库中选取数据并生成PDF文件的后端处理流程,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-09-09
  • Java如何随机生成图片验证码

    Java如何随机生成图片验证码

    这篇文章主要为大家详细介绍了Java如何随机生成图片验证码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • Java 17 更快的 LTS 节奏

    Java 17 更快的 LTS 节奏

    这篇文章主要介绍的是Java 17 更新后的LTS,现在 Java 17 的发布,让 Java 11 成了 LTS 系列的次新版本,下面我们就来看看Java 17 的更新 LTS有什么变化吧
    2021-09-09
  • idea热部署插件jrebel正式版及破解版安装详细图文教程

    idea热部署插件jrebel正式版及破解版安装详细图文教程

    这篇文章主要介绍了idea热部署插件jrebel正式版及破解版安装详细教程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 解决feign微服务间的文件上传报错问题

    解决feign微服务间的文件上传报错问题

    这篇文章主要介绍了解决feign微服务间的文件上传报错问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • Nebula Graph介绍和SpringBoot环境连接和查询操作

    Nebula Graph介绍和SpringBoot环境连接和查询操作

    Nebula Graph 是一款开源的、分布式的、易扩展的原生图数据库,能够承载包含数千亿个点和数万亿条边的超大规模数据集,并且提供毫秒级查询,这篇文章主要介绍了Nebula Graph介绍和SpringBoot环境连接和查询,需要的朋友可以参考下
    2022-10-10
  • spring-boot-maven-plugin:打包时排除provided依赖问题

    spring-boot-maven-plugin:打包时排除provided依赖问题

    这篇文章主要介绍了spring-boot-maven-plugin:打包时排除provided依赖问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04

最新评论