『壹』 java中「集合」是啥意思集合類的「集合」
在java語言提供的工具類里,一般集合指的是實現了Collection介面的類。
主要是Set、List、Queue
Collection介面方法如下
當然 還有很多很多,就不一一舉例了。
另外如果你願意完全可以定義自己的集合,說白了不就是按照自己的邏輯把對象放在一起么~~~一般實現存、取、排序 就OK了。
『貳』 Java.util是什麼意思
1. util包的框架
常用的集合類主要實現兩個「super介面」而來:Collection和Map。
1.1 Collection有兩個子介面:List和Set
List特點是元素有序,且可重復。實現的常用集合類有ArrayList、LinkedList,和Vector(線程安全)。
Set特點是元素無序,不可重復。實現的常用集合類有HashSet,LinkedHashSet,TreeSet(可排序)
1.2 Map是key、value鍵值對的集合
特點是key值無序不可重復,value值可重復(這樣表述其實不太准確,因為實際上key和value是綁定在一起的)。常用的有HashMap,HashTable(線程安全),TreeMap(可排序)。
1.3 其餘重要介面和類
上面是util包中的集合框架,一般Java教材裡面都會講到。但我們深入研究一下,會發現還有其餘幾個重要的內容:
Iterator:迭代介面
集合類實現該介面後便具有了迭代功能。最簡單的迭代實現是ArrayList,迭代過程其實就是數組的迭代。LinkedList、LinkedHashSet和LinkedHashMap迭代過程就是鏈表的迭代。這兩者的迭代效率都很高,迭代時間與容器里的元素數目成正比。但HashSet、HashMap迭代效率就略低了,因為採用了哈希表,所以元素是散列在數組中的,迭代時必須讀完整個數組,迭代時間與容器的容量成正比。
Comparator:比較介面
實現該介面後,集合內元素便可比較通過compare()方法實現元素排序
AbstractXXX:骨架類
所謂骨架類,其實就是不同集合的核心代碼實現,讓繼承這個抽象類的子類少干點活。例如AbstarctList代表「隨機訪問」集合(底層數組實現)的骨幹代碼實現。AbstractSequentialList代表「連續訪問」(底層鏈表實現)集合的骨幹代碼實現。
Collections、Arrays
集合工具類和數組工具類。Java中的工具類好像都喜歡在對應的介面或類名稱後,加S來表示其工具類。