1. java 容器都有哪些?
答:java的容器主要分爲兩個部分collection(集合序列)和map<鍵值對>
collection(集合序列):List --> ArrayList、LinkedList、Vectory、Stack
Set --> HashSet、SortedSet、TreeSet
Queue --> Deque、PriorityQueue
Map<鍵值對>:SortedMap、ThreeMap、Hashtable、HashMap、LinkedHashMap、WeakHashMap
java.util.Collection [I]
+--java.util.List [I]
+--java.util.ArrayList [C]
+--java.util.LinkedList [C]
+--java.util.Vector [C] //線程安全
+--java.util.Stack [C] //線程安全
+--java.util.Set [I]
+--java.util.HashSet [C]
+--java.util.SortedSet [I]
+--java.util.TreeSet [C]
+--Java.util.Queue[I]
+--java.util.Deque[I]
+--java.util.PriorityQueue[C]
java.util.Map [I]
+--java.util.SortedMap [I]
+--java.util.TreeMap [C]
+--java.util.Hashtable [C] //線程安全
+--java.util.HashMap [C]
+--java.util.LinkedHashMap [C]
+--java.util.WeakHashMap [C]
2. Collection 和 Collections 有什麼區別?
答:一看到這裏,博主我一開始也是懵的狀態,以前只知道collection,怎麼現在出現了collections,然後就去查,然後是這樣理解的,collection是集合,collections是一個普通的JAVA類,可以理解成collection是ADC,而collections是ADC的輔助,collections裏面是靜態方法,在我們需要使用到裏面的方法時,可以直接使用。
3. List、Set、Map 之間的區別是什麼?
4. HashMap 和 Hashtable 有什麼區別?
5. 如何決定使用 HashMap 還是 TreeMap?
6. 說一下 HashMap 的實現原理?
7. 說一下 HashSet 的實現原理?
8. ArrayList 和 LinkedList 的區別是什麼?
9. 如何實現數組和 List 之間的轉換?
10. ArrayList 和 Vector 的區別是什麼?
11. Array 和 ArrayList 有何區別?
12. 在 Queue 中 poll()和 remove()有什麼區別?
13. 哪些集合類是線程安全的?
14. 迭代器 Iterator 是什麼?
15. Iterator 怎麼使用?有什麼特點?
16. Iterator 和 ListIterator 有什麼區別?
17. 怎麼確保一個集合不能被修改?