Java 集合复习(集合类型与特性)

时间:2021-04-05 17:00:29

---|Collection :单列的集合 

---|List :有存储的顺序,并且元素可以重复

 ----|ArrayList: 数组实现,查找快,增删慢,由于是数组的实现,在增加和删除元素的时候会牵扯到数组的增容,以及

拷贝元素的时候,效率会比较慢。但是数组是可以直接按索引查找,所以查找时会比较快。

 ----|LinkedList:链表数据结构实现,增删快,查找由于其实现的原理会比较慢,但是增加时只要让前面的一个元素记住

自已就可以,删除时让前一个元素记住后一个元素,后一个元素记住前一个元素。这样增删的效率高

    但是查找时需要一个一个遍历,所以效率比较低

 ----|Vector: 和ArrayList原理相同,但是增加了一个线程安全,效率略低

----|Set:无序,不可以重复

---|HashSet    :线程不安全,存取的速度快,底层是以哈希表实现的

---|TreeSet     :红黑树的数据结构,默认对元素进行自然排序。如果在比较的时候两个对象返回值为0,那么元素

重复。存储自已写的对象时,类需要实现一个接口(好像是Comparable)

---| Map: 键值对   键不可重复,键可以重复

                       ---|HashMap  :线程不安全,存取速度快。底层是以哈希表实现的.

                       ---|TreeMap  :  -黑树的数据结构,默认对元素进行自然排

                                                 序(String)。如果在比较的时候两个对象

                                               返回值为0,那么元素重复

                       ---|HasnTable:  底层也是使用了哈希表维护的,存取的读取快,存储元素是

                                           无序的。