Java中的List与Set转换

Posted Dream_it_possible!

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中的List与Set转换相关的知识,希望对你有一定的参考价值。

一、List列表与Set列表的区别

       List列表是有序、可以重复、线程不安全的列表,Set是无序、不能重复、线程不安全的列表。但List和Set可以通过方法来转换为线程安全的,加互斥锁。
   

  Set<Long> set=new HashSet<>();
  // 转换为线程安全的集合
   Collections.synchronizedSet(set);

  List<Long> lists=new ArrayList<>();
   Collections.synchronizedList(lists);

二、List与Set的转换

           1) List转换为set

 List<Long> ids=new ArrayList<>();
 HashSet<Long> set=new HashSet<>(ids);

          2) Set转换为List

 HashSet<Long> set=new HashSet<>();
 List<Long> ids=new ArrayList<>(set);

        此处都可以使用 addAll()方法来替换。

        需要注意的是:   List转换为Set的时候,当有重复数据时,转换为出现数据丢失的情况,因为Set集合不允许有重复数据。

以上是关于Java中的List与Set转换的主要内容,如果未能解决你的问题,请参考以下文章

java中 set,list,array(集合与数组)相互转换

Kotlin集合操作 ④ ( Set 集合 | 可变 Set 集合 | List 与 Set 之间相互转换 | 数组类型 )

Kotlin集合操作 ④ ( Set 集合 | 可变 Set 集合 | List 与 Set 之间相互转换 | 数组类型 )

Kotlin-数组与集合-List

java中set怎么转换成list

Java基础知识(JAVA集合框架之List与Set)