Java 容器類

Java 容器類 - 常用概念及常用方法介紹,實現原理以後分析:
 1、數組是存儲相同類型的長度固定的數據,通過下標操作符來使用。
 2、容器是存儲數據的另一種方式,可以動態存放多個對象,底層實現涉及大量數據結構和算法的內容,所以原理部分以後再詳細分析。
 
 Java 容器類框架
 如圖: 參考附件
 
 容器常用接口:
 1、Collection:定義了存取對象的方法,它有兩個常用子接口
     List接口:存放的元素有序且允許元素有重複
     Set 接口:存放的元素無序且不允許重複
 2、Map 接口:定義了存儲鍵值對的方法
 
 List 的一些基本特性:
 有序性:指的是元素的存入順序和取出順序一致,每個元素對應一個index。
 重複性:指的是equals 方法比較後的結果相等。
 常用方法:
 add(object)
 add(index,object)
 get(index)
 remove(index)
 indexOf(object)
 size(); 獲取容器元素個數
 iterator(); 不同的List 實現類會有不同的Ite內部類。從而實現對容器內元素的遍歷操作
 
 List 接口具體實現類
 ArrayList:內部存儲採用數組結構實現的List容器
 LinkedList:內存存儲採用雙向鏈表結構實現的List容器。
 
 Set 的一些基本特性
 無序性:不保證元素的存入順序和取出順序一致。
 重複性:兩個對象通過equials 方法比較後相等。
 
 Set接口的具體實現類:
 HashSet:根據哈希碼進行存放,存放元素無序、不重複
 LinkedHashSet:存放元素有序
 TreeSet:採用樹形鏈表存儲
 對於存放到Set容器中的自定義對象,應該根據情況重寫equals和hashcode方法,以提高hashtable性能。
 在Set中添加一個新的對象時,會先檢查他的hashcode,如果hashcode 不相等則認爲是不同的元素,
 hashcode相等時,會再根據equals 方法比較相等的元素,相等的話則認爲是重複的元素,不再添加,不相等則把元素添加到對應hashcode的桶(數據塊)中。
 
 Map相關內容:
 以鍵值對的方式來進行存儲。
 HashMap:內部“鍵”從用Set存放,不能重複。
 TreeMap、HashTable
 
 put(key,value)
 get(key)
 remove(key)
 containKey(key)
 containValue(value)
 keySet(); // 返回此map 中所有鍵的Set
 
 

 Iterator 迭代器:
 所有實現了Collection接口的容器類都有一個iterator()方法,用以返回一個實現了Iterator接口的對象
 可以方便地實現對容器內元素的遍歷操作。
 hasNext(); 是否有下一個元素
 next(); 返回下一個元素。
 
 容器中的泛型:
 泛型的概念源自於模板,編譯器會根據傳入的類型參數生成特定類型的類。
 java中就是保存特定類型對象的容器類。在指定類型時,默認是Object類型


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章