java 先进先出的map_「 深入浅出 」java集合Collection和Map
本系列文章主要對java集合的框架進行一個深入淺出的介紹,使大家對java集合有個深入的理解。 本篇文章主要具體介紹了Collection接口,Map接口以及Collection接口的三個子接口Set,List,Queue。
什么是集合
Java集合類存放于 java.util 包中,是一個用來存放對象的容器。
集合有以下幾個特點: ①集合只能存放對象。比如你存一個 int 型數據 1放入集合中,其實它是自動轉換成 Integer 類后存入的。 ②集合存放的是對象的引用,對象本身還是放在堆內存中。 ③集合可以存放不同類型,不限數量的數據類型。
集合和數組的區別
1.數組長度需初始化時指定長度,只能保存定長的數據;而集合可以保存數量不確定的數據。 2.數組可以存基本類型,也可以是對象; 集合里只能保存對象(實際上保存對象的引用變量)。
Java集合介紹
主要分為Collection接口和Map接口,Collection接口有3個主要的接口List,Set,Queue 整體框架如下:
圖源于網絡
迭代接口Iterator
所有的集合類都實現了Iterator接口,這是一個用于遍歷集合中元素的接口 所包含方法如下:
Collection接口
Collection接口是處理對象集合的根接口,其中定義了很多對元素進行操作的方法,框架圖中的AbstractCollection提供Collection部分實現的抽象類。 Collection接口中的所有方法
其中比較常用的方法如下add(E) 添加一個元素到集合中
addAll(Collection) 將指定集合中的所有元素添加到集合中
remove(Object) 刪除一個元素
contains(Collection) 方法檢測集合中是否包含指定的元素
toArray() 方法返回一個表示集合的數組
Collection三個子接口
Collection的常用方法,在子接口中同樣常用,下面不再重復說明
1.List(有序、可重復)
List里存放的對象是有序的,同時也是可以重復的,List關注的是索引,擁有一系列和索引相關的方法,查詢速度快。因為往list集合里插入或刪除數據時,會伴隨著后面數據的移動,所有插入刪除數據速度慢。
List接口中的所有方法
其中主要比較常用的方法如下get(int) 獲取元素
set(int, E) 設置元素到某個索引位置
add(int, E) 添加元素到某個索引位置
add(int, E) 刪除某個索引位置元素
sort(Comparator) 排序
2.Set(無序、不能重復)
Set里存放的對象是無序,不能重復的,集合中的對象不按特定的方式排序,只是簡單地把對象加入集合中。
List接口中的全部方法
Set只繼承了Collection,并沒有添加自己的方法,所以常用方法與Collection一樣
3.Queue(有序、可重復、先進先出、不可隨機訪問)
隊列是“先進先出”容器。插入新元素只能添加到隊列的尾部,獲取或刪除元素只能是隊列頭部的元素。
Queue中的所有方法
需要注意的是,新增、檢索、刪除都分別提供了兩種方法,請注意一下它們的區別
4.Map(鍵值對、鍵唯一、值不唯一)
Map集合中存儲的是鍵值對,提供key(鍵)到value(值)的映射,鍵不能重復,值可以重復。
Map的所有方法如下圖
常用方法如下:get(Object) 獲取元素
put(K, V) 添加元素
remove(K) 刪除元素
entrySet() 獲取Entry集合,一般用于遍歷Map里的元素
Map中還包括一個內部類Entry,該類封裝了一個key-value對。Map內部存儲是通過Entry進行存儲的。 Entry包含如下三個方法:
List、Set、Map的區別
1.繼承
List和Set繼承Collection接口,而Map不是
2.重復性:
① List允許有重復的元素。任何數量的重復元素都可以在不影響現有重復元素的值及其索引的情況下插入到List集合中;
② Set集合不允許元素重復。Set以及所有實現了Set接口的類都不允許重復值的插入,若多次插入同一個元素時,在該集合中只顯示一個;
③ Map以鍵值對的形式對元素進行存儲。Map不允許有重復鍵,但允許有不同鍵對應的重復的值;
3.有序性:
① List及其所有實現類保持了每個元素的插入順序;
② Set中的元素都是無序的;但是某些Set的實現類以某種殊形式對其中的元素進行排序,如:LinkedHashSet按照元素的插入順序進行排序;
③ Map跟Set一樣對元素進行無序存儲,但其某些實現類對元素進行了排序。如:TreeMap根據鍵對其中的元素進行升序排序;
4.空值(Null)問題:
① List允許任意數量的空值(Null)
② Set最多允許出現一個空值(Null)(因為Set集合不允許元素重復,實際可上重復插入空值(Null))
③ Map只允許出現一個空鍵(Null),但允許出現任意數量的空值(Null)
總結:
List中的元素,有序、可重復、任意空值 Set中的元素,無序、不重復、只有一個空元素 Map中的元素,無序、鍵不重,值可重、可一個空鍵,多可空值
以上是java集合框架的概括內容,通過這篇文章主要了解一些基本的概念以及對集合的操作方法。 后續文章將對java集合中的具體實現類進行深入了解。有興趣的話可以觀看后續內容,進一步了解java集合內容。
總結
以上是生活随笔為你收集整理的java 先进先出的map_「 深入浅出 」java集合Collection和Map的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 盘点52个全球人工智能和机器学习重要会议
- 下一篇: java arraylist 源代码_j