日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

理解总结篇—List、Set、Map

發(fā)布時(shí)間:2023/12/1 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 理解总结篇—List、Set、Map 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

List是存儲(chǔ)對(duì)象的容器,可以存儲(chǔ)任意類(lèi)型的對(duì)象且長(zhǎng)度可變,List的存儲(chǔ)對(duì)象是有順序的,可重復(fù)的。

<1> List的接口框架

? ? ArrayList實(shí)現(xiàn)類(lèi)通過(guò)數(shù)組實(shí)現(xiàn),在向集合中增加或刪除時(shí),需要對(duì)集合進(jìn)行增容和拷貝,所以增刪慢;而數(shù)組可以直接通過(guò)索引進(jìn)行查找,所以查詢快;一般查詢多增刪少的,優(yōu)先選擇ArrayList集合。

? ? LinkedList實(shí)現(xiàn)類(lèi)通過(guò)鏈表實(shí)現(xiàn),在向集合中增加或刪除時(shí),無(wú)需擴(kuò)容,所以增刪快;但是不能通過(guò)索引進(jìn)行定位查找,需要檢索全部,所以查慢;一般增刪多查詢少的,優(yōu)先選擇LinkedList集合。

? ? Vector實(shí)現(xiàn)類(lèi)也是通過(guò)數(shù)組實(shí)現(xiàn),是線程安全的,所以一般效率較ArrayList低。

<2> List接口的方法

? ? 增加? ? add(Object object); 將指定對(duì)象存儲(chǔ)到List容器中。addAll(List list); 將指定集合中的元素存儲(chǔ)到List容器中。

? ? 刪除? ? remove(Object object); 將指定對(duì)象從容器中移除。removeAll(List list); 移除容器中與指定集合中的元素相同的元素。clear(); 清空容器中的所有元素。

? ? 修改? ? set(Integer index,Object object); 將容器中指定位置的元素修改成指定元素。

? ? 判斷? ? isEmpty(); 判斷容器是否為空。contains(Object object); 判斷容器中是否包含指定對(duì)象。containsAll(List list); 判斷容器中是否包含指定集合中的所有元素。

? ? 獲取? ? size(); 獲取容器元素的數(shù)量。get(Integer index); 獲取指定位置的元素。indexOf(Object object); 獲取指定對(duì)象的位置索引,沒(méi)有返回-1。lastIndexOf(Object object); 獲取指定對(duì)象在容器中最后一次存儲(chǔ)位置的索引。

Set也是存儲(chǔ)對(duì)象的容器,可以存儲(chǔ)任意類(lèi)型的對(duì)象且長(zhǎng)度可變。

<1> Set的接口框架

? ? HashSet實(shí)現(xiàn)類(lèi)按照哈希算法來(lái)存取對(duì)象的,是無(wú)序的,不可重復(fù),但是null和"null"同時(shí)存在,會(huì)顯示[null,null],是Set接口的最優(yōu)實(shí)現(xiàn),其底層實(shí)現(xiàn)依賴(lài)于HashMap的鍵不能重復(fù)特性,

? ? TreeSet實(shí)現(xiàn)類(lèi)使用紅黑樹(shù)來(lái)存儲(chǔ)元素,實(shí)現(xiàn)了sortedSet接口,是有序存儲(chǔ)和訪問(wèn),不能寫(xiě)入null。

? ? LinkedHashSet實(shí)現(xiàn)類(lèi)也是按照哈希算法存取對(duì)象的,是有序的,不可重復(fù),但是null和"null"同時(shí)存在,會(huì)顯示[null,null],其底層依賴(lài)于LinkedHashMap。

<2> Set接口的方法

? ? 并? ? ? ? addAll(Set set); 將指定集合中的元素并入容器中,并去重。

? ? 交? ? ? ? retainAll(Set set); 將指定集合中元素與容器中元素取交集。

? ? 刪除? ? removeAll(Set set); 移除容器中與制定集合中的元素相同的元素。remove(Object object); 將指定對(duì)象從容器中移除。

? ? 判斷? ? isEmpty(); 判斷容器是否為空。contains(Object object); 判斷容器是否包含指定對(duì)象。containsAll(Set set); 判斷容器是否包含指定集合的所有元素。clear(); 清空容器中的所有元素。

? ? 獲取? ? iterator(); 遍歷容器中的元素。

Map也是存儲(chǔ)對(duì)象的容器,以鍵-值的形式存儲(chǔ)對(duì)象,鍵對(duì)象不可重復(fù)可為null,值對(duì)象可重復(fù)可為null。

<1> Map的接口框架

? ? HashMap實(shí)現(xiàn)類(lèi)按照哈希算法存取鍵對(duì)象,無(wú)序的且不可重復(fù)

? ? TreeMap實(shí)現(xiàn)類(lèi)使用紅黑樹(shù)存儲(chǔ)鍵對(duì)象,有序的

<2> Map接口的方法

? ? 獲取? ? get(Object key); 根據(jù)指定的key對(duì)象獲取容器中鍵對(duì)應(yīng)的值。entrySet(); 將容器中的所有鍵值對(duì)以key=value的形式保存在Set集合中。keySet(); 將容器中的所有鍵對(duì)象保存在Set集合中。?iterator(); 遍歷容器中的元素

? ? 添加? ? put(Object key,Object value); 將指定的鍵值對(duì)添加到容器。

? ? 刪除? ? remove(Object key); 移除容器中與指定key對(duì)象相同的鍵值對(duì)。

? ? 判斷? ? isEmpty(); 判斷容器是否為空。contains(Object object); 判斷容器是否包含指定對(duì)象。containsAll(Set set); 判斷容器是否包含指定集合的所有元素。clear(); 清空容器中的所有元素。

? ??

? ? ? ? ?

? ??

? ??

? ??

轉(zhuǎn)載于:https://www.cnblogs.com/zzb-yp/p/10384387.html

總結(jié)

以上是生活随笔為你收集整理的理解总结篇—List、Set、Map的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。