Java中的List与Set转换「建议收藏」

大家好,我是知秋君,一个会写博客吟诗的知秋码农。今天说一说Java中的List与Set转换「建议收藏」,希望能够帮助大家进步!!! 一、List列表与Set列表的区别        List列表是有序、可以重复、线程不安全的列表,Set是无序、不能重复、线程不安全的列表。但List和Set可以通过方法来转换为线程安全的,加互斥锁。    

大家好,我是知秋君,一个会写博客吟诗的知秋码农。今天说一说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集合不允许有重复数据。

知秋君
上一篇 2024-07-03 15:31
下一篇 2024-07-03 15:31

相关推荐