java List和Set的区别是什么?有什么区别?

KLQ 2020-05-25 11:37:12 java常见问答 10569

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基础知识可以给大家分享呢。

推荐阅读:

arraylist和linklist区别分别有哪些?

为什么要复制ArrayList扩容?有何作用?

Linkedlist是每次遍历都从第一个吗?有多少种遍历方式?