日韩性视频-久久久蜜桃-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)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品美女一区 | 一本色道久久综合狠狠躁的推荐 | 中文字幕第一页在线 | 好吊操这里只有精品 | 高h在线观看 | 91国偷自产一区二区三区老熟女 | 性高湖久久久久久久久免费 | 日本熟妇毛茸茸丰满 | 动漫美女被吸乳奶动漫视频 | 国产女主播福利 | 国产精品传媒一区二区 | 五月婷婷激情网 | 久久久久久久久亚洲 | 黄色小视频在线看 | 欧美熟妇久久久久 | 香蕉视频国产在线观看 | 一区二区成人精品 | 午夜丁香网 | 欧美一区二区三区啪啪 | 久久久在线观看 | 国产视频第一区 | 麻豆蜜桃wwww精品无码 | 久久九九国产视频 | 欧美在线一级视频 | 9久久9毛片又大又硬又粗 | 成人片在线视频 | 97人妻一区二区精品免费视频 | 男女视频网站 | 久热中文 | 欧美日韩中字 | 51免费看成人啪啪片 | 亚洲日本不卡 | 美女被c出白浆 | 亚洲免费一二三区 | 丰满少妇在线观看bd | 麻豆视频免费网站 | 少妇人妻偷人精品无码视频 | 97精品在线观看 | 欧美亚洲精品天堂 | 亚洲精品视频在线看 | 国产三级午夜理伦三级 | 毛片www | 午夜精品久久久久久久无码 | 成年人免费看视频 | 视频在线a | 欧洲自拍偷拍 | 手机在线小视频 | 日韩av电影在线播放 | 中国一级片黄色一级片黄 | 天美麻花果冻视频大全英文版 | 99爱在线观看 | 国产aaaaaaa| 极度诱惑香港电影完整 | 综合久久综合 | 久久伊人av | 一本色综合 | 国产最新精品视频 | 青青草综合 | 暖暖日本在线视频 | 香蕉视频黄在线观看 | 欧美用舌头去添高潮 | 成年人免费看视频 | 国产又粗又爽视频 | 午夜影院免费在线观看 | 国产又粗又猛又黄又爽无遮挡 | 国产suv精品一区二区三区 | 爱情岛论坛成人 | 中文字幕国产剧情 | 来吧亚洲综合网 | 国产精品高潮av | 草草视频在线 | 国产亚洲一区二区三区 | 丰满少妇一区二区三区专区 | 97综合网| 中文字幕一区二区三区日韩精品 | 免费视频网站在线观看入口 | 撸啊撸av | 在线看片你懂的 | 人妻丰满熟妇av无码久久洗澡 | 丰满人妻妇伦又伦精品国产 | 午夜国产一区 | 正在播放久久 | 免费看麻豆 | 奇米97 | 日韩精品免费播放 | 天降女子在线观看 | 高潮白浆 | 亚洲熟女少妇一区二区 | 欧美成人一级视频 | 欧洲美熟女乱又伦 | 伊人色爱 | 19韩国主播青草vip | 又污又黄的网站 | 亚洲天堂一区二区三区四区 | 人人看人人草 | 青青久久av北条麻妃黑人 | 国产精品9 | 欧美日韩一区三区 | 精品福利影院 |