Java集合框架的基本接口/类层次结构:
java.util.Collection [I]
+--java.util.List [I]
+--java.util.ArrayList [C]
+--java.util.LinkedList [C]
+--java.util.Vector [C]
+--java.util.Stack
+--java.util.Set [I]
+--java.util.HashSet [C]
+--java.util.LinkedHashSet[C]
+--java.util.SortedSet [I]
+--java.util.TreeSet [C]
java.util.Map
+--java.util.SortedMap [I]
+--java.util.TreeMap [C]
+--java.util.Hashtable [C]
+--java.util.HashMap [C]
+--java.util.LinkedHashMap [C]
+--java.util.WeakHashMap [C]
[I]:接口
[C]:类
注意点:
1. Vector与ArrayList基本上是相同的,不同之处是该类的功能方法是同步的,同一时刻只能有一个线程访问,没有特殊需要,现在一般都使用ArrayList
2.ArrayList内部实际上时依赖数组实现的,因此对元素进行随机访问的性能很好。但是如果进行大量的插入,删除操作,此类的性能很差,并不适合。
3.LinkedList的内部是依赖双链表来实现的,因此具有很好的插入删除性能,但随机访问元素的性能相对较差,适合用在插入,删除多,元素随即访问少的场合。
4.set和map都不能直接都不能使用索引来进行元素的遍历,而是必须使用迭代器来完成遍历。
对集合操作的工具类:
Java提供了java.util.Collections,以及java.util.Arrays类简化对集合的操作
java.util.Collections主要提供一些static方法用来操作或创建Collection,Map等集合。
java.util.Arrays主要提供static方法对数组进行操作。
附:对map的遍历方法