Java List转换Set详解(2步搞定)

Java List转换Set详解(2步搞定)-mikechen

Java List

List列表是有序、可以重复、线程不安全的列表。

常见实现类如下:

  • ArrayList:允许对元素进行快速随机访问,从ArrayList的中间位置插入或者删除元素时,需要对数组进行复制、移动、代价比较高,因此,它适合随机查找和遍历,不适合插入和删除;
  • Vector:Vector属于线程安全级别的List,但是大多数情况下不使用Vector,因为线程安全需要更大的系统开销,主要是在方法上用synchronized修饰;
  • LinkedList:很适合数据的动态插入和删除,随机访问和遍历速度比较慢,可以当作堆栈、队列和双向队列使用。

 

Java Set

Set是无序、不能重复、线程不安全的列表。

常见实现类有:HashSetTreeSet和LinkedHashSet。

HashSet是Set接口的一个实现类,其实现类除HashSet之外,还有TreeSet,LinkedHashSet。

继承结构如下图所示:

Java List转换Set详解(2步搞定)-mikechen

 

 

List转Set

List和Set可以通过方法来转换,如下所示:

1.List转换为set

//List转Set
Set<String> set = new HashSet<>(list);

 

2.Set转换List

//Set转List 
List<String> list1 = new ArrayList<>(set);

 

作者简介

陈睿|mikechen,10年+大厂架构经验,BAT资深面试官,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

👇阅读更多mikechen架构文章👇

阿里架构 |双11秒杀 |分布式架构 |负载均衡 |单点登录 |微服务 |云原生 |高并发 |架构师

以上

关注作者「mikechen」公众号,获取更多技术干货!

后台回复架构,即可获取《阿里架构师进阶专题全部合集》,后台回复面试即可获取《史上最全阿里Java面试题总结

评论交流
    说说你的看法