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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java中的集合_Java中集合中的基本概念

發(fā)布時間:2025/4/16 java 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java中的集合_Java中集合中的基本概念 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

集合:保存多個其他對象的對象,不能保存簡單類型。

Collection框架的結(jié)構(gòu)如下:

Collection是最基本的集合接口,一個Collection代表一組object,即Collection的元素(Elements)。

Map提供key到value的映射。

List:有序(存放元素的順序),可重復(fù)集合。

ArrayList:實(shí)質(zhì)就是一個會自動增長的數(shù)組。

查詢效率比較高,增刪的效率比較低,適用于查詢比較頻繁,增刪動作較少的元素管理的集合。

加載大批量數(shù)據(jù)時先進(jìn)行手動擴(kuò)容(就是調(diào)用ensureCapacity(int minCapacity)方法),這樣就可以提高效率。

LinkedList:底層是用雙向循環(huán)鏈表來實(shí)現(xiàn)的,查詢效率低,但是增刪效率高,適用于增刪動作比較頻繁,查詢次數(shù)較少的元素管理的集合。

Set:無序的,不允許有重復(fù)的元素集合。

HashSet:Object類中的hashCode( )的方法時所有類都會繼承的方法,這個方法會算出一個Hash碼值返回,HashSet會用Hash碼值去和數(shù)組長度取模,對象的模值(這個模值就是對象要存放在數(shù)組中的位置,和數(shù)組的下標(biāo)相同)相同時才會判斷數(shù)組中的元素和要加入的對象的內(nèi)容是否相同,不過不相同才會再找位置添加進(jìn)去,相同則不允許添加。如果數(shù)組中的元素和要加入的對象的hashCode( )反悔了相同的Hash碼值,才會用equals( )方法來判斷兩個對象的內(nèi)容是否相同。

注意:要存入HashSet的集合對象中的自定義類必須覆蓋hashCode( )、equals( )兩個方法,才能保證集合中元素不重復(fù)。

TreeSet:可排序的Set

SortedSet接口是Set的子接口,TreeSet是SortedSet接口的實(shí)現(xiàn)類,他可以對集合中的元素進(jìn)行排序。

將自定義類的對象存放在TreeSet中,這個類需要實(shí)現(xiàn)Comparable接口,TreeSet可以自動過濾掉重復(fù)元素所以不再需要重載hashCode( )方法,TreeSet會根據(jù)比較規(guī)則判斷元素內(nèi)容是否相同,不同則會存入,TreeSet會在元素存入時就進(jìn)行排序。

Comparable接口:也叫做可比較接口,這個接口在java.lang包下,只要根據(jù)指定類型的排序規(guī)則實(shí)現(xiàn)了這個接口,就是可以排序的。這個接口中只定義了一個compareTo(Object o)方法,該方法的返回值類型是整型,如果當(dāng)前對象大于參數(shù)對象就返回正數(shù),當(dāng)前對象等于參數(shù)對象就返回0,當(dāng)前對象小于參數(shù)對象就返回負(fù)數(shù),這樣寫就是升序排列,反之則是降序排列。

Comparator接口:比較器Comparator接口,是另一種對自定義類型對象的集合整體排序的方法,存在于java.util包下。這個接口中定義了一個compare(Object o1,Obeject o2)方法來比較兩個對象,這個方法的返回值定義和上面介紹的那個方法是一樣的。

利用這種方式,則在創(chuàng)建集合的時候把定義好的比較器作為參數(shù),構(gòu)造一個集合。

Map:存放key-value對(有關(guān)系的兩個對象,一個做key,一個做value,同時存入)。

HashMap:基于哈希表的Map接口的實(shí)現(xiàn),此實(shí)現(xiàn)提供所有可選的映射操作,并允許使用null值和null鍵。

遍歷:

先調(diào)用keySet( )得到key的set集合,再迭代遍歷key的set集合,根據(jù)key得到value。

Hashtable:同HashMap,一般不使用。

HashMap與Hashtable的區(qū)別:

HashMap:非線程安全,不支持并發(fā)控制,允許空的鍵對值。

Hashtable:是線程安全,支持并發(fā)控制,不允許有空的鍵對值。

SortedMap接口:Map的子接口,按某一特定排序規(guī)則來存放所加入的鍵對值。

實(shí)現(xiàn)類:TreeMap類。

Key值得排序規(guī)則,同SortedSet接口實(shí)現(xiàn)類TreeSet。

注意:

key一般是8種基本類型的封裝類或者是String類,拿自己自定義的類作為Key沒有意義。

key不可重復(fù),value可以重復(fù)。

總結(jié)

以上是生活随笔為你收集整理的java中的集合_Java中集合中的基本概念的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: www.色就是色 | 17c精品麻豆一区二区免费 | 天堂va蜜桃一区二区三区 | 天天干天天操天天爽 | 绿色地狱在线观看 | 亚洲午夜av | 操小妞 | 亚洲精品在线观看免费 | 韩国一级淫一片免费放 | 日本bdsm视频 | 99色在线观看 | 97射射| 不卡一二区 | av体验区 | 经典毛片| 玖玖在线资源 | 亚洲乱码日产精品bd在线观看 | 国产精品免费av一区二区 | 啪啪av导航| 青青久在线视频 | wwww日本60 | 日韩精品1 | 超碰日韩在线 | 免费av地址 | 精品一区二区三区蜜桃 | 天天干天天日夜夜操 | 国产专区欧美专区 | 国产伦精品一区二区三区四区 | 日本精品一二三区 | 五月激情综合网 | 秋霞免费av | 久久精品人妻av一区二区三区 | 国产免费看 | 丰满人妻一区二区三区大胸 | 日韩18p | 久草视 | 精品中文一区二区三区 | 波多野结衣一二三区 | 欧美精品人妻一区二区 | 不卡在线一区二区 | 欧美日韩一区二区三区视频 | 精品成人中文无码专区 | 韩国日本欧美一区 | 裸体一区二区 | 亚洲高清在线免费观看 | 国产婷婷精品 | 无码精品人妻一区二区 | 51国产视频 | 久久精品23 | 国产精品无码网站 | 国产毛片91 | 中文字幕一区电影 | av网站免费大全 | av资源在线播放 | 草草影院在线 | 免费一级全黄少妇性色生活片 | 成人免费毛片色戒 | 午夜影院在线观看视频 | 羞辱狗奴的句子有哪些 | 免费无遮挡网站 | 9999精品| 免费国产视频在线观看 | 国产精选视频 | julia一区二区三区中文字幕 | 国产a自拍| 午夜精品久久99蜜桃的功能介绍 | 朝桐光av在线一区二区三区 | 伊人久久久久久久久久 | 国产91丝袜在线播放 | 日韩综合网 | 中文字幕永久在线视频 | 日本少妇毛茸茸高潮 | av在线网址大全 | 久久久久久久香蕉 | 天天躁狠狠躁狠狠躁夜夜躁68 | 美日韩精品 | 国产综合视频在线观看 | 国产三区在线播放 | 亚洲高清久久 | 欧美福利视频在线观看 | 国语对白91 | 免费毛片在线播放免费 | 人人妻人人玩人人澡人人爽 | 啪啪小视频 | 欧美午夜在线 | 大奶在线观看 | 黄色大片aa | 三日本三级少妇三级99 | 黄色大片在线播放 | 色婷婷国产精品综合在线观看 | 国产精品天天干 | 人妻无码中文久久久久专区 | 香蕉视频免费 | 午夜精品一区二区三区在线观看 | 亚洲成人第一网站 | 超碰免费在 | 日韩电影在线一区二区 | 亚洲一区二区欧美 | 潮喷失禁大喷水aⅴ无码 |