java集合簡析

2021-06-29 09:49:18 字數 1205 閱讀 8819

基本關係

--list

------ arraylist

------ 

linkedlist

------vector

------stack

------------set

--hashmap

--hashtable

--weakhashmap 分析

collction

list和set同樣繼承collection類。list是順序表,根據下標訪問,允許出現相同的值;set不允許相同的值出現,常用來去除相同值的操作。

list:

arraylist用陣列儲存,非同步,效率較高。常用於需要經常按下標查詢的情況。在元素數目超過目前陣列長度時,自動增長50%。

linkedlist使用鍊錶結構儲存資料,因此在插入刪除操作中效能表現好,非同步,效率較高。常用於需要經常插入刪除的情況下。

vector和arraylist都是陣列結構的,但vector是同步的,與此同時,vector也損失了一部分效率。vector在多個執行緒同時修改時,會丟擲

concurrentmodificationexception

異常 。

stack

繼承vector,

實現了乙個先進後出的堆疊。

stack剛建立時是個空棧。

set:

set不能傳入相同的值,通常用於去除目錄裡重複的值。

map

map提供key到value的對映。通常使用是通過key來獲取到value的值,因此乙個map中不能出現相同的key,每個key也只能對映乙個value。

hashmap,非同步的,允許key或者value出現null。迭代子操作時間開銷和hashmap的容量成正比。

hashtable,同步的,key和value都不能出現空值。查詢時間是常數。通過initial capacity和load factor調整效能。

weakhashmap,改進的hashmap,使用弱引用,也就是當key不在被外部引用時,該key可以被**。

同步的:vector,hashtable

非同步的: arraylist,linkedlist,hashmap,weakhashmap

注:collections類可以提供以上幾個類的同步解決方法,提供的同步方法多於自帶同步的那兩種。

簡析java中Map集合

1.特點 無序,以鍵值對的形式新增元素,鍵值不能重複,值可以重複,它沒有繼承collection介面 例 鍵值對 mapmap new hashmap 相當於 string a a map.put a a map.put b b map.put b b tostring 2.遍歷 先取出儲存所有鍵的...

JAVA基礎 簡析遞迴演算法

概念 遞迴演算法 遞迴演算法是把問題轉化為規模縮小了的同類問題的子問題,然後遞迴呼叫函式 或者過程 來表示函式的解。遞迴函式 乙個過程 或者函式 直接或間接呼叫自己本身,這種過程 或者函式 叫做遞迴函式。特點 遞迴就是在過程或函式裡呼叫自身。在使用遞迴策略時,必須有乙個明確的遞迴結束條件。稱為遞迴出...

C 效能簡析 集合容量的指定

長度動態增加的集合類,例如 arraylist queue等,無需在初始化時指定其容量,集合本身能夠根據需求自動增加集合大小,為程式設計帶來方便。然而,過分依賴這種特性對程式的效能提高並非好的選擇,因為集合動態增加的過程是乙個記憶體重新分配和集合元素複製的過程,會對效能造成一定的影響,所以有必要在集...