java集合的体系结构

List、Set、Map是这个集合体系中最主要的三个接口。

其中List和Set继承自Collection接口。

Collection
├List
│├LinkedList
│├ArrayList
│└Vector
│ └Stack
└Set
Map
├Hashtable
├HashMap
└WeakHashMap


集合比数组的优势:
1. 集合可以存储任意类型的对象数据,数组只能存储同一种数据类型 的数据。
2. 集合的长度是会发生变化的,数组的长度是固定的。

 
------------| Collection 单例集合的根接口
----------------| List  如果是实现了List接口的集合类,具备的特点: 有序,可重复。
-------------------| ArrayList  ArrayList 底层是维护了一个Object数组实现的。 特点: 查询速度快,增删慢。
-------------------| LinkedList LinkedList 底层是使用了链表数据结构实现的, 特点: 查询速度慢,增删快。
-------------------| Vector(了解即可)  底层也是维护了一个Object的数组实现的,实现与ArrayList是一样的,但是Vector是线程安全的,操作效率低。


----------------| Set  如果是实现了Set接口的集合类,具备的特点: 无序,不可重复。
-------------------| HashSet  底层是使用了哈希表来支持的,特点: 存取速度快.
-------------------| TreeSet   如果元素具备自然顺序 的特性,那么就按照元素自然顺序的特性进行排序存储



      Map也属于集合系统,但和Collection接口不同。Map是key对value的映射集合,其中key列就是一个集合。key不能重复,但是value可以重复。
      HashMap、TreeMap和Hashtable是三个主要的实现类。

HashMap与HashTable的区别
HashMap不是线程安全的;HashTable是线程安全的。
HashMap允许NULL键值和Value;HashTable不允许。
HashMap方法不是Synchronize;HashTable是


猜你喜欢

转载自blog.csdn.net/lqzxpp/article/details/78480171