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集合内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解SpringBoot restful api的单元测试

    详解SpringBoot restful api的单元测试

    本篇文章主要介绍了详解SpringBoot restful api的单元测试,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 基于Maven骨架创建JavaWeb项目过程解析

    基于Maven骨架创建JavaWeb项目过程解析

    这篇文章主要介绍了基于Maven骨架创建JavaWeb项目过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • SpringBoot外部化配置使用Plus版的方法示例

    SpringBoot外部化配置使用Plus版的方法示例

    这篇文章主要介绍了SpringBoot外部化配置使用Plus版的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • Java显式锁详情

    Java显式锁详情

    这篇文章主要详细的介绍了shenJava显式锁常用的api及标准用法,感兴趣的朋友,需要的朋友可以参考下面文章里的内容
    2021-09-09
  • Java使用Redis实现秒杀功能

    Java使用Redis实现秒杀功能

    这篇文章主要为大家详细介绍了Java使用Redis实现秒杀功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-09-09
  • SpringBoot的启动速度优化

    SpringBoot的启动速度优化

    随着我们项目的不断迭代 Bean 的数量会大大增加,如果都在启动时进行初始化会非常耗时,本文主要介绍了SpringBoot的启动速度优化,感兴趣的可以了解一下
    2023-09-09
  • Java集合之Set接口及其实现类精解

    Java集合之Set接口及其实现类精解

    set接口是继承自Collection的子接口,特点是元素不重复,存储无序。在set接口的实现类中添加重复元素是不会成功的,判断两个元素是否重复根据元素类重写的
    2021-09-09
  • Spring 4.0新功能:@Conditional注解详细介绍

    Spring 4.0新功能:@Conditional注解详细介绍

    Spring Boot的强大之处在于使用了Spring 4框架的新特性:@Conditional注释,此注释使得只有在特定条件满足时才启用一些配置。下面这篇文章主要给大家介绍了关于Spring4.0中新功能:@Conditional注解的相关资料,需要的朋友可以参考下。
    2017-09-09
  • Java导出Excel统计报表合并单元格的方法详解

    Java导出Excel统计报表合并单元格的方法详解

    我们在日常编程过程中,总是会碰见导出相关表格信息的需求,所以就让我们一起来学习一下,这篇文章主要给大家介绍了关于Java导出Excel统计报表合并单元格的相关资料,需要的朋友可以参考下
    2021-10-10
  • 在spring中使用自定义注解注册监听器的方法

    在spring中使用自定义注解注册监听器的方法

    本篇文章主要介绍了在spring中使用自定义注解注册监听器的方法,本文就是在分析监听器回调原理的基础上,在spring环境中使用自定义的注解实现一个监听器。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01

最新评论