java集合分为collection和map两种体系
1.collection
1.List体系: 有序,可重复
ArrayList: 底层是数组实现,线程不安全,效率高
查询比较高,增删效率低
LinkedList: 底层双向链表,查询慢,增删快
Vector: 底层是数组实现,线程安全,效率低
2.Set体系: 无序,不可重复
① LinkedHashSet与HashSet虽然都是无序的,但是LinkedHashSet是链表式的(有前后加载项),所以LinkedHashSet和元素添加的顺序有关。
② TreeSet添加元素必须为同一类型,否则遍历出错
遍历输出顺序按默认(从小到大的)顺序排列 如:String、int
自然排序要用Comparable重写compareTo方法,实现内部排序
2.map
①LinkedHashMap与LinkedHashSet原理相同,方法皆为map方法。
②TreeMap与TreeSet原理相同,多了key-value的方式。
③Hashtable基于线程安全,效率低,古老。
HashMap基于非线程安全,效率高。