java集合系列——java集合概述(一)
在JDK中集合是很重要的,學習java那麼一定要好好的去了解一下集合的原始碼以及一些集合實現的思想!
一:集合的UML類圖(網上下載的圖片)
Java集合工具包位置是java.util.*
二:集合工具的分析
1:Java集合是java提供的工具包,常用的資料結構:集合、連結串列、佇列、棧、陣列、對映等
2:java集合主要劃分為五個部分:
List列表、Set集合、Map對映、迭代器(Iterator、Enumeration)、工具類(Arrays、Collections)
3:根據類圖進行分析:
主要分為兩大類:Collection和Map
1:Collection是一個介面,是高度抽象出來的集合,它包含了集合的基本操作和屬性。
包括了List和Set
List:List介面通常表示一個列表(陣列、佇列、連結串列、棧等),其中的元素可以重複,常用實現類為ArrayList和LinkedList,另外還有不常用的Vector。另外,LinkedList還是實現了Queue介面,因此也可以作為佇列使用。
List是一個有序的佇列,每一個元素都有它的索引。第一個元素的索引值是0。
Set: Set介面通常表示一個集合,其中的元素不允許重複(通過hashcode和equals函式保證),常用實現類有HashSet和TreeSet,HashSet是通過Map中的HashMap實現的,而TreeSet是通過Map中的TreeMap實現的。另外,TreeSet還實現了SortedSet介面,因此是有序的集合(集合中的元素要實現Comparable介面,並覆寫Compartor函式才行)。
Set是一個不允許有重複元素的集合。
2:Map是一個對映介面,即key-value鍵值對。一個key對應一個value。
Map是一個對映介面,其中的每個元素都是一個key-value鍵值對,同樣抽象類AbstractMap通過介面卡模式實現了Map介面中的大部分函式,TreeMap、HashMap、WeakHashMap等實現類都通過繼承AbstractMap來實現,另外,不常用的HashTable直接實現了Map介面,它和Vector都是JDK1.0就引入的集合類。
3:Iterator,它是遍歷集合的工具,即我們通常通過Iterator迭代器來遍歷集合。不能遍歷Map,只用來遍歷Collection。
Collection的實現類都實現了iterator()函式,它返回一個Iterator物件,用來遍歷集合,ListIterator則專門用來遍歷List
4:Enumeration,它是JDK 1.0引入的抽象類。作用和Iterator一樣,也是遍歷集合;但它的功能比Iterator要少,它只能再Hashtable、Vector和Stack中使用。
5:Arrays和Collections。它們是運算元組、集合的兩個工具類。
三:用的設計模式
Java集合框架中用的很多的介面卡設計模式!
如果帥氣(美麗)、睿智(聰穎),和我一樣簡單善良的你看到本篇博文中存在問題,請指出,我虛心接受你讓我成長的批評,謝謝閱讀!
祝你今天開心愉快!
歡迎訪問我的csdn部落格,我們一同成長!
“不管做什麼,只要堅持下去就會看到不一樣!在路上,不卑不亢!”
相關推薦
java集合系列——java集合概述(一)
在JDK中集合是很重要的,學習java那麼一定要好好的去了解一下集合的原始碼以及一些集合實現的思想! 一:集合的UML類圖(網上下載的圖片) Java集合工具包位置是java.util.* 二:集合工具的分析 1:Java集合是java提
java集合概述(一)
在JDK中集合是很重要的,學習java那麼一定要好好的去了解一下集合的原始碼以及一些集合實現的思想! 一:集合的UML類圖(網上下載的圖片)Java集合工具包位置是java.util.*二:集合工具的分析 1:Java集合是java提供的工具包,常用的資料結構:集合、連結串列
Java集合原始碼分析之Queue(一):超級介面Queue_一點課堂(多岸學院)
在日常生活中,排隊幾乎隨處可見,上地鐵要排隊,買火車票要排隊,就連出門吃個大餐,也要排隊。。。之前研究的ArrayList就像是一
JavaSE 學習筆記之Java概述(一)
environ 電子 6.0 run javase 有一點 架構 spa form 一、Java的三種技術架構: JAVAEE:Java Platform Enterprise Edition,開發企業環境下的應用程序,主要針對web程序開發; JAVASE:Java P
集合框架相關接口概述(一)
ren array 方法 klist link map trees nth 框架 List VS Set List 是有序的可重復的, Set 是無序的不可重復的。 ArrayList VS LinkList ArrayList : 底層實現是數組,所以易查詢難存儲,
Java EE入門教程系列第二章JSP(一)——第一個JSP程式
2、1JSP概述 2.1.1JSP簡介 JSP,全稱是Java Server Pages,是在Servlet技術的基礎上形成的,主要完成網頁中伺服器動態部分的編寫。 有如下特點: (1)一次編寫,隨處執行 (2)可重用元件技術 (3)標記化頁面開發:JSP將許多常用功能封裝起
Java單元測試工具:JUnit4(一)——概述及簡單例子
(一)JUnit概述及一個簡單例子 看了慕課網的JUnit視訊教程: http://www.imooc.com/learn/356,總結筆記。 這篇筆記記錄JUnit的
java-web中生成文檔(一)
all 檢查 download com ftl 緩沖 getc cor tps 基於Java的解決方案也是很多的,包括使用Jacob、Apache POI、Java2Word、iText等各種方式,其實在從Office 2003開始,就可以將Office文檔轉換成XML文件
Java基礎——網絡編程(一)
orm server ip地址 尋址 ans http1 端口 分割線 查看 本文主要記錄網絡編程的一些基礎知識,學了前班部分,對專業術語有些蒙,但是,收貨也是很多很多的。觀察了自己計算機的進程,查找其他網絡地址的IP,對互聯網的層次關系有了更深一步的了解。下面多是概念的摘
Java之面向對象例子(一)
顯示 人類 運算 例子 ble person 成員變量 年月日 pub 定義一個人類,給這個類定義一個從身份證獲取生日的方法,輸入身份證,獲取出生年月日 //主方法 package com.hanqi.maya.model; import java.util.Scanne
Java面試-數據庫篇(一)
t對象 計時 具體類 分離 根據 變化 第二範式 類加載 關系 1、用兩種方式根據部門號從高到低,工資從低到高列出每個員工的信息。 1 employee: 2 3 eid,ename,salary,deptid; 4 5 select * from employeeo
Java的反射機制詳解(一)
pbc spa 詳解 uno face target lan tor cin 8n72q傅釁8戰sig叢http://www.docin.com/app/user/userinfo?userid=179185461 8u炊3F7LB椒1http://huiyi.docin.
PHP與Java集成開發詳解(一)
new 編程語言 到你 其中 web-inf request 測試 add 輸入 很久以前,有人從www上看到看到天空上一個很亮的亮點,它就是Java語言,與此同時,在另一個地方一位夢想家也看到了一個亮點,它就是PHP。 時間一天天過去,這兩個亮點也變得越來越亮,很快,它
JAVA線程池 之 Executors (一)
i++ static 順序 nta executors 情況下 線程的生命周期 有一個 ping 一、背景 線程屬於系統稀缺資源,在使用線程時,如果無限制創建線程,達到CPU高負荷時,會導致系統運行緩慢,更有甚者直接宕機。 在這樣的基礎上我們希望在使用線程時,竟可能使系
Java 8 流庫學習筆記(一)
atm tlist see 條件 但是 表達 with ray 返回值 【core Java學習筆記】Java SE8 流庫 Stream Library 從叠代到流 如果要計算一個文本中有多少長單詞(字母>12)。 叠代式: words = getlist();/
使用JAVA開發微信公眾平臺(一)——環境搭建與開發接入
iges 微信平臺 校驗 後臺服務 結果 png 交互 package app 一、 初始微信公眾平臺 微信公眾平臺,即我們平時所說的“公眾號”,曾用名“官方平臺”、“媒體平臺”,但最終命名為&ldq
Java並發AQS原理分析(一)
jpg 子類 ole success ces || pro 同步 無法 我們說的AQS就是AbstractQueuedSynchronizer,他在java.util.concurrent.locks包下,這個類是Java並發的一個核心類。第一次知道有這個類是在看可重入鎖R
小白的java學習之路 “ 選擇結構(一)”
測試 exti 邏輯運算符 main system 有一個 學習 並且 oid if選擇結構: if選擇結構是根據條件判斷之後再做處理的一種語法結構。 1.if選擇結構的語法: public class Demo{ public static void main(
java反序列化原理-Demo(一)
51cto n) www. fault clas ack 保存 發現 auto java反序列化原理-Demo(一) 0x00 什麽是java序列化和反序列? Java 序列化是指把 Java 對象轉換為字節序列的過程便於保存在內存、文件、數據庫中,ObjectOutput
閱讀java編程思想的總結(一)
info -s 等價 ace 分享圖片 xtend 發出 new idt 學而不思則罔,思而不學則殆 一、對象(Object) 1、機器模型(方案空間),實際解決問題的問題模型(問題空間)。 2、我們將問題空間中的元素以及它們在方案空間的表示物稱為“對象”(Object)。