簡單介紹Collection框架的結構

2022-09-02 18:30:09 字數 1230 閱讀 7780

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...