Java中List、Set单列集合的特点及使用

单列集合框架

                                       

Collection:单列集合类的根接口,用于存储一系列符合某种规则的元素。List和Set是它的子接口

List:是有序的集合,存储和取出元素顺序相同。允许存储重复的元素。有索引,可以使用普通的for循环

Set:不允许存储重复元素。没有索引(不能使用普通的for循环遍历)。

List详解:

由于List是有索引的,所以可以根据索引,在特定位置进行增添、返回、移除、替换数据

public void add(int index,E element)

public E get(int index)

public E remove(int index)

public E set(int index,E element)

 

ArrayList

底层数组结构,增删慢,查找快。每增添一个元素,都需要创建一个新的ArrayList,将旧的数据复制再加上新的元素。

LinkedList

底层链表结构,查找慢,增删快。链表的头尾是好查询的,所以有大量的头元素和尾元素的增删改查。

Vector

单线程数组

 

Set详解

HashSet

元素无序存储,并且元素不重复。

增添元素时,依靠HashCode()方法计算哈希值,

如果没有该哈希值,则进行存储,返回为true。

如果有该哈希值,则通过equals()方法进行两个元素值的判断,如果两个元素相等,则会产生哈希冲突,返回false。如果不相等,就把元素存储到集合中,返回true。

LinkedHashSet

底层是哈希表+链表,链表可以记录元素的顺序,所以可以保证元素有序。

发布了62 篇原创文章 · 获赞 39 · 访问量 12万+

猜你喜欢

转载自blog.csdn.net/liangjiabao5555/article/details/103524970