collection:list列表,set集
map:hashtable,hashmap,treemap
collection 是單列集合
list 元素是有序的、可重複
有序的 collection,可以對列表中每個元素的插入位置進行精確地控制。
可以根據元素的整數索引(在列表中的位置)訪問元素,並搜尋列表中的元素。
可存放重複元素,元素訪問是有序的。
list介面中常用類
l vector: 執行緒安全,但速度慢,已被arraylist替代。
底層資料結構是陣列結構
l arraylist:執行緒不安全,查詢速度快。
底層資料結構是陣列結構
l linkedlist:執行緒不安全。增刪速度快。
底層資料結構是列表結構
set(集) 元素無序的、不可重複。
取出元素的方法只有迭代器。不可以存放重複元素,元素訪問是無序的。
set介面中常用的類
l hashset:執行緒不安全,訪問速度快。
它是如何保證元素唯一性的呢?依賴的是元素的hashcode方法和euqals方法。
l treeset:執行緒不安全,可以對set集合中的元素進行排序。
它的排序是如何進行的呢?通過compareto或者compare方法中的來保證元素的唯一性。元素是以二叉樹的形式存放的。
map 是乙個雙列集合
|--hashtable:執行緒安全,速度快。底層是雜湊表資料結構。是同步的。
不允許null作為鍵,null作為值。
|--properties:用於配置檔案的定義和操作,使用頻率非常高,同時鍵和值都是字串。
是集合中可以和io技術相結合的物件。(到了io在學習它的特有和io相關的功能。)
|--hashmap:執行緒不安全,速度慢。底層也是雜湊表資料結構。是不同步的。
允許null作為鍵,null作為值。替代了hashtable.
|--linkedhashmap: 可以保證hashmap集合有序。存入的順序和取出的順序一致。
|--treemap:可以用來對map集合中的鍵進行排序.
collection 和 collections的區別
collection是集合類的上級介面,子介面主要有set 和list、map。
collections是針對集合類的乙個幫助類,提供了操作集合的工具方法:一系列靜態方法實現對各種集合的搜尋、排序、執行緒安全化等操作。
原文:
Collection集合簡單了解
collection集合 集合 是一種容器,長度可變 陣列 長度不可變的一種容器 集合與陣列的區別 陣列 一旦初始化,長度不可改變 可以存放引用型別或基本型別的資料 同一種陣列,只能存放同一型別的資料 集合 長度隨時可以改變 只可以存放引用型別的資料 同一種集合可以存放多種型別的資料 常用的功能 新...
collection集合的簡單使用
collection介面下有兩個常用的子介面 list和set list儲存元素時是有序的,允許重複元素 如 list.add bbb list.add ccc list.add ccc list.add aaa 輸出 bbb,ccc,ccc,aaa list介面的實現類 arraylist lin...
擴容機制,collection的簡單分類
1.hashmap是陣列 鍊錶,鍊錶是hash衝突的時候會使用 2.hashset是基於hashmap的 treeset是基於treemap的 3.vector和hashtable是執行緒安全的。stringbuffer也是執行緒安全的。我有的時候會矛盾 stringbuffer和stringbui...