java中set和list的区别是什么?

内容摘要
java中set和list的区别1、重复对象list方法可以允许重复的对象,而set方法不允许重复对象2、null元素list可以插入多个null元素,而set只允许插入一个null元素3、容器是否有序li
文章正文

java中set和list的区别

1、重复对象

list方法可以允许重复的对象,而set方法不允许重复对象

2、null元素

list可以插入多个null元素,而set只允许插入一个null元素

3、容器是否有序

list是一个有序的容器,保持了每个元素的插入顺序。即输出顺序就是输入顺序,而set方法是无序容器,无法保证每个元素的存储顺序,TreeSet通过 Comparator 或者 Comparable 维护了一个排序顺序

1.jpg

4、常用的实现类

list方法常用的实现类有ArrayList、LinkedList 和 Vector。其中ArrayList 最为流行,它提供了使用索引的随意访问,而LinkedList 则对于经常需要从 List 中添加或删除元素的场合更为合适,Vector 表示底层数组,线程安全

Set方法中最流行的几个实现类是 HashSet、LinkedHashSet 以及 TreeSet。最流行的是基于 HashMap实现的 HashSet;TreeSet 还实现了 SortedSet 接口,因此 TreeSet 是一个根据其 compare() 和compareTo() 的定义进行排序的有序容器

推荐学习:Java视频教程

代码注释
[!--zhushi--]

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!