1. 程式人生 > >Java集合系列-總體框架

Java集合系列-總體框架

作者:YouChuang
本文主要介紹Java集合的總體架構。

JDK中常用的jar包和對應的庫

這裡寫圖片描述這裡寫圖片描述這裡寫圖片描述這裡寫圖片描述這裡寫圖片描述這裡寫圖片描述

Java的集合工具包架構圖

集合架構圖

主要是Collection介面和Map介面

Collection

一個高度抽象的介面
The JDK does not provide any direct implementations of this interface: it provides implementations of more specific subinterfaces like Set and List. This interface is typically used to pass collections around and manipulate them where maximum generality is desired.

List

有序佇列,索引+元素,索引從0開始

實現類
LinkedList
ArrayList
Vector
Stack

Set

不允許有重複元素的集合
實現類
HashSet,依賴於HashMap,並由HashMap實現,因為方法的實現都是呼叫的HashMap的方法

private transient HashMap<E,Object> map;
public HashSet() {
    map = new HashMap<>();
}
public int size() {
    return
map.size(); }

TreeSet,依賴於TreeMap,由TreeMap實現

Map

對映介面,K-V鍵值對
AbstractMap為抽象類,實現了Map中的大多數API,
HashMap、TreeMap、WeakHashMap繼承於AbstractMap
HashTable繼承Dictionary,實現Map介面

Iterator

遍歷工具的集合,Collection依賴於Iterator,因為Collection的實現類都要實現Iterator()函式來返回一個Iterator物件
ListIterator專門遍歷List

Enumeration

遍歷集合,只能在HashTable、Vector、Stack中使用

Arrays和Collections

運算元組和集合的兩個工具類

相關推薦

Java集合系列-總體框架

作者:YouChuang 本文主要介紹Java集合的總體架構。 JDK中常用的jar包和對應的庫 Java的集合工具包架構圖 主要是Collection介面和Map介面 Collection 一個高

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

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

Java集合系列總體框架

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Java集合系列總體框架

根據上面的類圖,我們可以把java的所有集合分成三大類,其中Set集合類類似於一個糖罐子,把一個物件新增到Set集合裡面的時候,Set集合無法記住新增這個元素的順序,所以Set裡面的元素不能重複,否則系統無法準確識別這個元素;List集合非常像一個數組,她可以記住每次新增元素的順序,可以重複,只是List的長

Java 集合系列01之 總體框架

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

Java集合系列】---總體框架

集合--童年的美好時光集合,忽然讓小編想起那段美好的學生時光,集合第一次遇見她的時候,小編當年還是一個懵懂的丫頭,也不曾想過會在計算機的世界再次相遇,再回首,集合在數學中是一個基本概念,集合就是“一堆東

Java 集合系列01之 總體學習

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

深入理解JAVA集合系列四:ArrayList源碼解讀

結束 了解 數組下標 size new 數組元素 開始 ini rem 在開始本章內容之前,這裏先簡單介紹下List的相關內容。 List的簡單介紹 有序的collection,用戶可以對列表中每個元素的插入位置進行精確的控制。用戶可以根據元素的整數索引(在列表中的位置)訪

深入理解JAVA集合系列三:HashMap的死循環解讀

現在 最新 star and 場景 所有 image cap 時也 由於在公司項目中偶爾會遇到HashMap死循環造成CPU100%,重啟後問題消失,隔一段時間又會反復出現。今天在這裏來仔細剖析下多線程情況下HashMap所帶來的問題: 1、多線程put操作後,get操作導

Java集合系列四】HashSet和LinkedHashSet解析

inpu skin lam 繼承 depend try put args port 2017-07-29 16:58:13 一、簡介 1、Set概念 Set可以理解為集合,非常類似數據概念中的集合,集合三大特征:1、確定性;2、互異性;3、無序性,因此Set實現類也有類似的

java集合系列——Set之HashSet和TreeSet介紹(十)

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

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

java 集合 概要 上一章,我們學習了Collection的架構。這一章開始,我們對Collection的具體實現類進行講解;首先,講解List,而List中ArrayList又最為常用。因此,本章我們講解ArrayList。先對ArrayList有個整體認識,再學習它的源碼,最後再通過例子來學習如

java集合系列之HashMap源碼

實現 幫助 成員變量 eno dea after 一次 == 處的 java集合系列之HashMap源碼   HashMap的源碼可真不好消化!!!   首先簡單介紹一下HashMap集合的特點。HashMap存放鍵值對,鍵值對封裝在Node(代碼如下,比較簡單,不再介紹)

Java集合系列02--LinkedList

LinkedList (1)LinkedList是一個繼承與AbstractSequentialList的雙向連結串列。它也可以被當做堆疊、佇列和雙向佇列使用。 (2)LinkedList實現了List介面,能對它進行佇列操作。 (3)LinkedList實現了Deque介面,即

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集合系列之List介面

List是一個有序的佇列,每一個元素都有它的索引。第一個元素的索引值是0。List的實現類有LinkedList, ArrayList, Vector, Stack。 List抽象資料型別: ADT List Data 線性表的元素集合為{a1,a2,a3,a4....an},資料型別都是DataTyp

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