集合关系:
Collection(单列集合最顶端接口)
List(有序,可重复,有索引)
ArrayList(底层数组,查询快,非同步,线程不安全,效率快,增删慢)
LinkedList(底层链表,查询慢,增删快)
Vector(底层数组,同步,线程安全,效率低)
Set(无序,不可重复,无索引)
HashSet(底层哈希表,唯一性)
TreeSet(底层二叉树,唯一性) Comparable,Comparator
Map(双列集合最顶端接口,以键值对存储,键唯一,值可以重复)
HashMap(非同步,线程不安全,效率高,可存空值空键)
TreeMap(可对键排序)
Hashtable(同步,线程安全,效率低,不可存空值空键)
HashSet与TreeSet如何保证唯一性
HashSet类add()时,根据元素的hash值是否相等判断元素是否重复;若hash值相等则使用equles()方法判断是否相等
TreeSet类add()时,调用对象的compareTo()方法和集合中的对象比较,根据compareTo()方法返回的结果进行存储
Map与迭代器:
迭代器适用于单列集合Conllection及其以下所属类,Map属于双列集合接口,无法使用迭代器。