自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Java集合框架學習筆記

開發(fā) 后端
本文是對Java集合框架進行學習的筆記。Java集合框架分為兩類,以Collection為接口的元素集合類型,以Map為接口的映射集合類型。

Java框架圖


從集合框架圖中可以看出,分為兩類

以Collection為接口的元素集合類型,以Map為接口的映射集合類型

Collection類型又分為兩大類Set和List

所有集合的實現(xiàn)類都不是直接實現(xiàn)集合類接口,而是都繼承一個相應(yīng)的抽象類
Set集合的特征:就是元素無重復(fù),但是無序(所以Set接口以及實現(xiàn)類沒有按位置index操作的添加、刪除、訪問方法)

List集合的特征:集合有序排列,可以有重復(fù)元素,可以隨機訪問(使用位置index添加、刪除、訪問元素)

List的實現(xiàn)類有ArrayList,LinkedList,這兩個都是非線程安全的,Vector是線程安全的List實現(xiàn)類,Stack是vector的子類

ArrayList的內(nèi)部實現(xiàn)是基于內(nèi)部數(shù)組Object[],所以從概念上講,它更像數(shù)組,但LinkedList的內(nèi)部實現(xiàn)是基于一組連接的記錄,所以,它更像一個鏈表結(jié)構(gòu)

在ArrayList的前面或中間插入數(shù)據(jù)時,必須將其后的所有數(shù)據(jù)相應(yīng)的后移,這樣必然要花費較多時間,所以,當你的操作是在一列數(shù)據(jù)的后面添加數(shù)據(jù)而不是在前面或中間,并且需要隨機地訪問其中的元素時,使用ArrayList會提供比較好的性能;

而訪問鏈表中的某個元素時,就必須從鏈表的一端開始沿著連接方向一個一個元素地去查找,直到找到所需的元素為止,所以,當你的操作是在一列數(shù)據(jù)的前面或中間添加或刪除數(shù)據(jù),并且按照順序訪問其中的元素時,就應(yīng)該使用LinkedList了。

Set的實現(xiàn)類有HashSet,TreeSet以及子類LinkedHashSet,這三個類是非線程安全的TreeSet是基于樹結(jié)構(gòu)的集合,LinkedHashSet具備按照插入先后順序訪問的功能,HashSet訪問元素的順序是不確定的,TreeSet的訪問順序是按照樹接口的順序訪問的Map的實現(xiàn)類有HashMap,IdentityHashMap,WeakHashMap,TreeMap,以及LinkedHashMap子類,這些類都是非線程安全的,WeakHashMap是一種改進的HashMap,它對key實行“弱引用”,如果一個key不再被外部所引用,那么該key可以被GC回收。

HashTable是線性安全的,HashTable不能插入null空元素

【編輯推薦】

  1. JavaScript中關(guān)于Cookie的詳細介紹
  2. JavaScript中confirm,alert,prompt的用法
  3. 基于JavaScript的REST客戶端框架
  4. 如何優(yōu)化JavaScript腳本的性能
  5. 用Javascript連接Access數(shù)據(jù)庫的方法
責任編輯:彭凡 來源: javaeye
相關(guān)推薦

2015-09-11 09:40:35

Java集合框架

2021-03-11 07:27:22

Java 集合數(shù)據(jù)

2023-10-09 07:57:14

JavaJCF

2012-03-12 15:36:29

Java框架

2009-09-08 09:12:12

LINQ構(gòu)建框架設(shè)計

2015-09-11 09:17:55

JavaJava HashMa

2011-07-11 11:02:12

JAVA集合框架

2012-04-26 10:52:52

Java數(shù)組集合

2020-01-09 09:56:47

Java集合框架

2019-07-22 09:59:20

Java框架集合

2009-04-12 08:45:32

Symbian諾基亞移動OS

2021-04-12 07:34:03

Java集合框架

2009-06-22 14:28:00

java接口

2009-06-29 09:00:14

JSFJava

2012-03-15 11:21:19

Java

2015-11-06 10:26:53

JavaExecutor框架

2015-12-24 10:13:29

JavaExecutor框架

2009-06-30 14:01:00

Java集合框架Java數(shù)組排序

2009-06-17 14:21:39

core java

2012-05-25 10:15:06

Java程序員面試題
點贊
收藏

51CTO技術(shù)棧公眾號