淺談JAVA集合框架

結構圖

這裏寫圖片描述

Collection接口

Set、List由它派生。
基本操作 增加元素add(Object obj); addAll(Collection c);
刪除元素 remove(Object obj); removeAll(Collection c);
求交集 retainAll(Collection c);

set

沒有重複項目的集合
HashSet-基於散列表的集
TreeSet-基於(平衡)樹的數據結構

List

位置性集合。加進清單的元素可以加在清單中特定位置或加到末尾

ArrayList(數組表)-類似於Vector,都用於縮放數組維護集合。

LinkedList(鏈表)-是雙向鏈表,每個節點都有兩個指針指向上一節點和下一節點。

Map

處理Map的三種集合
關鍵字集KeySet()
數值集value()
項目集enrySet()

具體版本
HashMap-散列表的通用映射表
TreeMap-基於平衡樹的映射表
Hashtable

相關面試問題

1、Collection 和 Collections的區別
Collections是個java.util下的類,它包含有各種有關集合操作的靜態方法。
Collection是個java.util下的接口,它是各種集合結構的父接口

2、ArrayList和Vector的區別
一.同步性:Vector是線程安全的,也就是說是同步的,而ArrayList是線程序不安全的,不是同步的
二.數據增長:當需要增長時,Vector默認增長爲原來一培,而ArrayList卻是原來的一半

3、List, Set, Map是否繼承自Collection接口?
List,Set是 Map不是

4、HashMap和Hashtable的區別
一.歷史原因:Hashtable是基於陳舊的Dictionary類的,HashMap是Java 1.2引進的Map接口的一個實現
二.同步性:Hashtable是線程安全的,也就是說是同步的,而HashMap是線程序不安全的,不是同步的
三.值:只有HashMap可以讓你將空值作爲一個表的條目的key或value

發佈了59 篇原創文章 · 獲贊 12 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章