java集合类存放于java.util包里,只能存放对象,存放的是对象的引用,可以是不同类型,不限数量的数据类型。
顶层接口:Iterator(迭代器),Map
Iterator:核心方法hasNext(),next(),remove();
Collection:Iterator下的子接口,List和Set的父接口;
List:有序,可重复集合
List 接口的三个典型实现:
List list1 = new ArrayList(); 底层数据结构是数组,查询快,增删慢;线程不安全,效率高
List list2 = new Vector(); 底层数据结构是数组,查询快,增删慢;线程安全,效率低,几乎已经淘汰了这个集合
List list3 = new LinkedList(); 查询慢,增删快;线程不安全,效率高
Set:无序,不可重复集合
Set 接口的典型实现
Set hashSet = new HashSet(); 底层数据结构是数组,不是线程安全,集合元素可为NULL
Set linkedHashSet = new LinkedHashSet(); 底层数据结构是链表和哈希表
Set treeSet = new TreeSet(); 底层数据结构是红黑树算法,擅长于范围查询
Map key-value键值对,key不可重复,value可重复
Map常用实现类
HashMap :采用哈希表算法,会对Key进行排序,线程不安全,性能较高
TreeMap :采用红黑树算法,查找效率高,线程不安全,性能较高
LinkedHashMap:采用链表和哈希表算法,线程不安全,性能较高
Hashtable:采用哈希表算法,线程安全,性能较低
Properties:Hashtable的子类,线程安全,性能较低