詳談java集合框架
1、為什么使用集合框架
當我們并不知道程序運行時會需要多少對象,或者需要更復(fù)雜方式存儲對象——可以使用Java集合框架
2、Java集合框架包含的內(nèi)容
接口:(父類)Collection接口下包含List(子類 )接口和Set(子類)
接口 List接口下又包含(ArrayList集合實現(xiàn)類和LinkedList集合實現(xiàn)類)
Set接口下又包含(HashSet集合實現(xiàn)類和TreeSet集合實現(xiàn)類)
接口:(父類)Map接口下包含(HashMap集合實現(xiàn)類和TreeMap 集合實現(xiàn)類)
*Collections接口提供了對集合進行排序、 遍歷等多種算法實現(xiàn) *Java集合框架為我們提供了一套性能優(yōu)良、使用方便的接口和類,它們位于java.util包中
3、Collection 、List 和Set 的特性:
Collection 接口存儲一組不唯一,無序的對象
List 接口存儲一組不唯一,有序(插入順序)的對象
Set 接口存儲一組唯一,無序的對象 Map接口存儲一組鍵值對象,提供key到value的映射
4、ArrayList集合和LinkedList集合的優(yōu)點
1、ArrayList實現(xiàn)了長度可變的數(shù)組,在內(nèi)存中分配連續(xù)的空間。遍歷元素和隨機訪問元素的效率比較高
2、LinkedList采用鏈表存儲方式。插入、刪除元素時效率比較高
List接口提供相應(yīng)方法remove()、contains(),直接使用即可
List接口常用方法 :
boolean add(Object o) 在列表的末尾順序添加元素,起始索引位置從0開始
void add(int index,Object o) 在指定的索引位置添加元素。索引位置必須介于0和列表中元素個數(shù)之間
int size() 返回列表中的元素個數(shù)
Object get(int index) 返回指定索引位置處的元素。取出的元素是Object類型,使用前需要進行強制類型轉(zhuǎn)換
boolean contains(Object o) 判斷列表中是否存在指定元素
boolean remove(Object o) 從列表中刪除元素
Object remove(int index) 從列表中刪除指定位置元素,起始索引位置從0開始
LinkedList的特殊方法
void addFirst(Object o) 在列表的首部添加元素
void addLast(Object o) 在列表的末尾添加元素
Object getFirst() 返回列表中的第一個元素
Object getLast() 返回列表中的最后一個元素
Object removeFirst() 刪除并返回列表中的第一個元素
Object removeLast() 刪除并返回列表中的最后一個元素
Map接口常用方法:
Object put(Object key, Object val) 以“鍵-值對”的方式進行存儲
Object get (Object key) 根據(jù)鍵返回相關(guān)聯(lián)的值,如果不存在指定的鍵,返回null
Object remove (Object key) 刪除由指定的鍵映射的“鍵-值對”
int size() 返回元素個數(shù)
Set keySet () 返回鍵的集合
Collection values () 返回值的集合
boolean containsKey (Object key) 如果存在由指定的鍵映射的“鍵-值對”,返回true
相關(guān)文章
SpringBoot+Redis實現(xiàn)數(shù)據(jù)字典的方法
這篇文章主要介紹了SpringBoot+Redis實現(xiàn)數(shù)據(jù)字典的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Java NIO:淺析IO模型_動力節(jié)點Java學(xué)院整理
在進入Java NIO編程之前,我們今天先來討論一些比較基礎(chǔ)的知識:I/O模型。對java io nio相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2017-05-05SpringBoot2底層注解@ConfigurationProperties配置綁定
這篇文章主要介紹了SpringBoot2底層注解@ConfigurationProperties配置綁定,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-05-05解決java idea新建子目錄時命名不是樹形結(jié)構(gòu)的問題
這篇文章主要介紹了解決java idea新建子目錄時命名不是樹形結(jié)構(gòu)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08