java当中的List和Set的区别你都了解吗?下面的文章就是要详细的给大家对这两者的区别做一个介绍,一起来看看吧!

一、list和set方法的区别

1、重复对象

list方法能够允许重复的对象,但是,set方法和list方法不同,set方法不允许重复对象

2、容器是否有序

list的话,它是一个有序的容器,它保持了每个元素的插入顺序,也就是输出顺序就是输入顺序。

但是set方法是无序容器,它不可以保证每个元素的存储顺序,TreeSet通过Comparator或者是Comparable维护了一个排序顺序。

3、null元素

list和set不同,list能够插入多个null元素,但是,set只允许插入一个null元素。

4、常用的实现类

list方法常用的实现类:

ArrayList、LinkedList 和 Vector。

在这些实现类当中,ArrayList是最流行的,ArrayList提供了使用索引的随意访问。

LinkedList的话,就要经常从List当中添加或者是删除元素的场合更为适合。

Vector表示底层数组,线程安全。

Set方法:

HashSet、LinkedHashSet 以及 TreeSet。

在这当中,最流行是HashSet,HashSet是基于HashMap实现。

TreeSet还实现了SortedSet

接口,所以,TreeSet是一个依据其compare()和compareTo()的定义进行排序的有序容器。

二、延伸阅读

Java当中的集合共包含三大类:

1、Set(集)

2、List(列表)

3、Map(映射)

以上就是关于java List和Set的区别的详细介绍了,你都了解了吧。

更多java常见问题,可以继续的通过奇Q工具网的常见问题栏目来了解哦,有更多的java基础知识可以给大家分享呢。

推荐阅读:

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐