1. 程式人生 > >Java集體系列01之 總體框架

Java集體系列01之 總體框架

Java集體是Java提供的工具包,包含了常用的資料結構:集合、連結串列、佇列、棧、陣列、對映等。Java集合工具包位置是java.util.*
Java集合主要可以劃分為4個部分:List列表、Set集合、Map對映、工具類(Iterator迭代器、Enumeration列舉類、Arrays和Collections)
java集合工具包框架圖(如下):
這裡寫圖片描述

大致說明:
看上面的框架圖,先抓住它的主幹,即Collection和Map。
1.Collection是一個介面,是高度抽象出來的集合,它包含了集合的基本操作和屬性。
Collection包含了List和Set兩大分支。
List是一個有序的佇列,每一個元素都有它的索引。第一個元素的索引值是0。List的實現類有LinkedList, ArrayList,Vector,Stack。
Set是一個不允許有重複元素的集合。
Set的實現類有HashSet和TreeSet。HashSet依賴於HashMap.它實際上是通過HashMap實現的;TreeSet依賴於TreeMap,它實際上是通過TreeMap實現的。
2.Map是一個對映介面,即key-value鍵值對。Map中的每一個元素包含“一個key”和”key對應的value”。
AbstractMap是抽象類,它實現了Map介面中的大部分API。而HashMap,TreeMap,WeekHashMap都是繼承於AbstractMap。
Hashtable雖然繼承於Dictionary,但它實現了Map介面。
接下來,再看Iterator。它是遍歷集合的工具,即我們通常通過Iterator迭代器來遍歷集合。我們說Collection依賴於Iterator,是因為Collection的實現類都要實現Iterator()函式,返回一個Iterator物件。
ListIterator是專門為遍歷List而存在的。
再看Enumeration,它是JDK1.0引入的抽象類。作用和Iterator一樣,也是遍歷集合;但是Enumeration的功能要比Iterator少。在上面的框架圖中,Enumeration只能在Hashtable,Vector,Stack中使用。
最後,看Arrays和Collectons。它們是運算元組、集合的兩個工具類。
有了上面的整體框架之後,我們接下來對每個類分別進行分析。

相關推薦

Java集體系列01 總體框架

Java集體是Java提供的工具包,包含了常用的資料結構:集合、連結串列、佇列、棧、陣列、對映等。Java集合工具包位置是java.util.* Java集合主要可以劃分為4個部分:List列表、Set集合、Map對映、工具類(Iterator迭代器、En

Java 集合系列01 總體框架 (依賴JDK1.6.0_45)

Java集合是java提供的工具包,包含了常用的資料結構:集合、連結串列、佇列、棧、陣列、對映等。Java集合工具包位置是java.util.* Java集合主要可以劃分為4個部分:List列表、Set集合、Map對映、工具類(Iterator迭代器、Enumeration列舉類、Arrays和Co

Java 集合系列01 總體框架

Java集合是java提供的工具包,包含了常用的資料結構:集合、連結串列、佇列、棧、陣列、對映等。Java集合工具包位置是java.util.*Java集合主要可以劃分為4個部分:List列表、Set集合、Map對映、工具類(Iterator迭代器、Enumeration列舉類、Arrays和Collec

Java 集合系列01 總體學習

Java 集合系列01之 總體框架 Java集合是java提供的工具包,包含了常用的資料結構:集合、連結串列、佇列、棧、陣列、對映等。Java集合工具包位置是java.util.* Java集合主要可以劃分為4個部分:List列表、Set集合、Map對映、工具類(Iterator迭代器、

Java】 集合系列01總體框架

Java集合是Java提供的工具包,包含了常用的資料結構:集合、連結串列、佇列、棧、陣列、對映等。 Java集合工具包的位置是Java.util.*。 Java集合主要可以劃分為四個部分:List列表、Set集合、Map對映、工具類(Iterator迭代器、

Java Web系列01---HTML

pan 開始 普通 sans height 網頁 後綴名 Language 水平線 一、HTML概述 HTML,超文本標記語言,hyper text markup language,用於創建網頁。 1)名詞解釋 超文本:比普通文本功能強大,可以描述文本的字體、顏色,可以

java集合系列——SetHashSet和TreeSet介紹(十)

最大 ... gpo 鏈表 key 同步 中大 nds set接口 一.Set的簡介Set是一個不包含重復元素的 collection。更確切地講,set 不包含滿足 e1.equals(e2) 的元素。對 e1 和 e2,並且最多包含一個為 null 的元素。 Set的類

Java基礎系列--集合ArrayList

邏輯結構 完全 必須 () abs 數組使用 就會 而已 自減 原創作品,可以轉載,但是請標註出處地址:http://www.cnblogs.com/V1haoge/p/8494618.html 一、概述   ArrayList是Java集合體系中最常使用,也是最簡單的集

java集合系列01--ArrayList

以下幾篇文章都是對java集合的一個介紹,這些文章並非都是我的原創,主要是集合了各種途徑獲取的一個總結。對於集合,我們主要從以下四點關注: 1.是否允許為空; 2.是否允許重複資料; 3.是否有序,有序是指讀取順序與存放順序是否一致; 4.是否執行緒安全。 ArrayList

Java 集合系列02 Collection架構(JDK1.6.0_45)

首先,我們對Collection進行說明。下面先看看Collection的一些框架類的關係圖: Collection是一個介面,它主要的兩個分支是:List 和 Set。 List和Set都是介面,它們繼承於Collection。List是有序的佇列,List中可以

#Java 集合系列02 Collection架構

概要 首先,我們對Collection進行說明。下面先看看Collection的一些框架類的關係圖; Collection是一個介面,它主要的兩個分支是:List 和 Set。 List和Set都是介面,它們繼承於Collection。List是有序的佇列,List中可以有重複的元素;而

Java多執行緒Executor框架

在前面的這篇文章中介紹了執行緒池的相關知識,現在我們來看一下跟執行緒池相關的框架--Executor。 一.什麼是Executor 1.Executor框架的兩級排程模型 在HotSpot VM的執行緒模型中,Java執行緒(java.lang.Thread)被一對一對映為本地作業系統執

Java 集合系列03 ArrayList詳細介紹

ArrayList做為List介面中最常用的實現類,必須掌握。 一、ArrayList簡介 與Java中的陣列相比ArrayList的容量可以動態增加。它繼承與AbstractList,實現了List, RandomAccess, Cloneable, java.io.Serializable 和Vec

Java 集合系列13 WeakHashMap詳細介紹(源碼解析)和使用示例

ted 常量 虛擬機 分享圖片 deep app default maximum obj 概要這一章,我們對WeakHashMap進行學習。我們先對WeakHashMap有個整體認識,然後再學習它的源碼,最後再通過實例來學會使用WeakHashMap。第1部分 WeakHa

Java 集合系列06 List總結

List 是一個介面,它繼承於Collection的介面。它代表著有序的佇列。 AbstractList 是一個抽象類,它繼承於AbstractCollection。AbstractList實現List介面中除size()、get(int locati

探究Java中的final關鍵字--------Java系列學習路(12)

前言---- 國慶回家悠閒了七天,沒帶電腦,今天是軍訓的第一天(大三才入學軍訓,沒誰了),今晚趁教官去本部看匯演免訓一晚上,不過坑還是要補的,就出門奔教室了。歡迎轉載,轉載請註明來處 1.final用來修飾類,方法,變數 a.修飾類 我們用final修飾類,表明這

探究Java的介面和抽象類--------Java系列學習路(12)

前言—— 今天第二天軍訓,訓得有點累,但是訓完整個人感覺很舒服,之前太久沒運動讓整個人感覺起來都很沒有 活力~   注:歡迎轉載,轉載請註明來處 目錄 一.抽象類 一.抽象類 a.要了解抽象類之前,我們需要先知道什麼是抽象方法? 抽象方法就是方法前面加

探究Java中的4種訪問許可權--------Java系列學習路(14)

前言—— 今天軍訓的第四天,早上下了小雨,摸魚了一上午,下午練軍體拳。想寫的內容很多,突然不知道今晚總結什麼,最終決定寫個基本但是非常重要的部分。 歡迎轉載,轉載請註明來處。 在Java中有4種訪問許可權關鍵字,分別是public,private,protected,

探究Java中的類和繼承--------Java系列學習路(15)

前言—— 今天是軍訓的第5天,昨天打了一天的軍體拳(哈哈哈,好好看本篇博文,不然博主一套軍體拳下去你可能會殘疾  :) 明天是最後一天了,今晚繼續做自己手頭上的事,避免碌碌無為。今天講解的內容——類和繼承,也是跟上一篇一樣,基礎且重要。 第5天沒把這篇文章寫完,今天第六

Java 集合系列08 List總結(LinkedList, ArrayList等使用場景和效能分析)

1 import java.util.*; 2 import java.lang.Class; 3 4 /* 5 * @desc 對比ArrayList和LinkedList的插入、隨機讀取效率、刪除的效率 6 * 7 * @author skywang 8 */ 9 public