目錄
引言
一、集合概述
1、概念
2、集合框架結構圖
二、集合分類
1、Collection 介面的介面 物件的集合(單列集合)
2、Map 介面 鍵值對的集合 (雙列集合)
三、集合的實作
1、Collection(單列)
1.1 List extends Collection
1.2 Set extends Collection(內容較多,建議放大)
2、Map(雙列)
四、 深入理解
1、集合和陣列的區別
2、List與Set的區別
3、泛型
3.1 圖解
3.2 概念
3.3 泛型的使用
4、Collections(工具類)
Collections概述和使用
五、最后的最后
引言

如果一直想見誰,遲早肯定會見到,
——村上春樹
一、集合概述
1、概念
存盤物件的容器,面向物件語言對事物的體現都是以物件的形式,所以為了方便對多個物件的操作,存盤物件,集合是存盤物件最常用的一種方式,
集合的出現就是為了持有物件,集合中可以存盤任意型別的物件, 而且長度可變,在程式中有可能無法預先知道需要多少個物件,那么用陣列來裝物件的話, 長度不好定義, 而集合解決了這樣的問題,
2、集合框架結構圖
二、集合分類
1、Collection 介面的介面 物件的集合(單列集合)
——List 介面:元素按進入先后有序保存,可重復
————— LinkedList 介面實作類, 鏈表, 插入洗掉, 沒有同步, 執行緒不安全
————— ArrayList 介面實作類, 陣列, 隨機訪問, 沒有同步, 執行緒不安全
————— Vector 介面實作類 陣列, 同步, 執行緒安全——————— Stack 是Vector類的實作類
——Set 介面: 僅接收一次,不可重復,并做內部排序
—————HashSet 使用hash表(陣列)存盤元素
———————— LinkedHashSet 鏈表維護元素的插入次序
—————TreeSet 底層實作為二叉樹,元素排好序
2、Map 介面 鍵值對的集合 (雙列集合)
———Hashtable 介面實作類, 同步, 執行緒安全
———HashMap 介面實作類 ,沒有同步, 執行緒不安全-
—————– LinkedHashMap 雙向鏈表和哈希表實作
—————– WeakHashMap
——–TreeMap 紅黑樹對所有的key進行排序
———IdentifyHashMap
三、集合的實作
1、Collection(單列)
1.1 List extends Collection
List集合內容,想看更詳細的知識,請點擊下方鏈接:
詳解:看這里,List:java_List(集合)_常見方法操作(實體)_Lee0620的博客-CSDN博客
1.2 Set extends Collection(內容較多,建議放大)
Set集合內容,想看更詳細的知識,請點擊下方鏈接:
java-集合-set(不重復集合)知識分解——庖丁解牛版_Lee0620的博客-CSDN博客
?
2、Map(雙列)
Map集合內容,想看更詳細的知識,請點擊下方鏈接:
java-集合-Map(雙列)——迪迦重制版_Lee0620的博客-CSDN博客
?
四、 深入理解
1、集合和陣列的區別
?
2、List與Set的區別
?
3、泛型
3.1 圖解
?
3.2 概念
泛型,即“引數化型別”,一提到引數,最熟悉的就是定義方法時有形參,然后呼叫此方法時傳遞實參,那么引數化型別怎么理解呢?顧名思義,就是將型別由原來的具體的型別引數化,類似于方法中的變數引數,此時型別也定義成引數形式(可以稱之為型別形參),然后在使用/呼叫時傳入具體的型別(型別實參),
泛型的本質是為了引數化型別(在不創建新的型別的情況下,通過泛型指定的不同型別來控制形參具體限制的型別),也就是說在泛型使用程序中,操作的資料型別被指定為一個引數,這種引數型別可以用在類、介面和方法中,分別被稱為泛型類、泛型介面、泛型方法,
3.3 泛型的使用
泛型有三種使用方式,分別為:泛型類、泛型介面、泛型方法
泛型類:
格式:修飾符 class 類名<型別> { }
范例:public class Generic<T> { }
此處T可以隨便寫為任意標識,常見的如T、E、K、V等形式的引數常用于表示泛型
泛型介面:
格式:修飾符 interface 介面名<型別> { }
范例:public interface Generic<T> { }
實作泛型介面,要創建實作類,重寫泛型方法
泛型方法:
格式:修飾符 <型別> 回傳值型別 方法名(型別 變數名) { }
范例:public <T> void show(T t) { }
4、Collections(工具類)
Collections概述和使用
Collections類的概述
由靜態方法組成
是針對集合操作的工具類
Collections類的常用方法
public static <T extends Comparable<? super T>> void sort?(List<T> list):將指定的串列按升序排序
public static void reverse?(List<?> list):反轉指定串列中元素的順序
public static void shuffle?(List<?> list):使用默認的隨機源隨機排列指定的串列
五、最后的最后
給大家跳個舞助助興吧~~
?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/339139.html
標籤:java






?
?
?
?
?