Set和List 未完待续...

都是Collection接口的子接口

从三个方面来区别:

1.有序性:List按照插入的顺序来排序         Set插入和取出的顺序不同

2.唯一性:List可以重复                             Set元素唯一

3.获取元素: List可以通过索引直接操作元素       Set不能根据索引获取元素

List分为:ArrayList ,Vector,LinkedList

1.ArrayList  底层数据结构是数据,查询块,增删慢;线程不安全,效率高

2.Vector      底层数据结构是数据,查询块,增删慢;线程安全,效率低

3.LinkedList 底层数据结构是链表 ,查询慢 ,增删快;线程不安全,效率高

ArrayList和LinkedList的区别和举例:https://blog.csdn.net/qingxu1234/article/details/81231453

Set:HashSet,TreeSet,LinkedHashSet

实际上Set就是Collection,只 是行为不同。(这是继承与多态思想的典型应用:表现不同的行为。)

1.HashSet  底层数据结构是哈希表(是一个元素是链表的数组),哈希表底层依赖两个方法:hashCode()和equals()

2.TreeSet 底层数据结构是红黑树   两种方式排序:自然排序和比较器排序

3.LinkedHashSet 由链表保证元素有序   由哈希表保证元素唯一

猜你喜欢

转载自blog.csdn.net/QingXu1234/article/details/81235162