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

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

生活随笔

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

编程问答

java 类 大全_JAVA集合类汇总

發(fā)布時(shí)間:2025/4/5 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 类 大全_JAVA集合类汇总 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

縮略圖如下圖所示:圖中,實(shí)線邊框的是實(shí)現(xiàn)類,折線邊框的是抽象類,而點(diǎn)線邊框的是接口

在JAVA的util包中有兩個(gè)所有集合的父接口Collection和Map,它們的父子關(guān)系:

set --其中的值不允許重復(fù),無(wú)序的數(shù)據(jù)結(jié)構(gòu)

list?? --其中的值允許重復(fù),因?yàn)槠錇橛行虻臄?shù)據(jù)結(jié)構(gòu)

map--成對(duì)的數(shù)據(jù)結(jié)構(gòu),健值必須具有唯一性(鍵不能同,否則值替換)

│├ ArreyList ? ? (Class 數(shù)組,隨機(jī)訪問(wèn),沒(méi)有同步,線程不安全)

│├ Vector ? ? ? ?(Class ?數(shù)組 ? ? ? ? ? ? ? ? ? 同步 ? ? ? ?線程安全)

│├ LinkedList ? ?(Class ?鏈表 ? 插入刪除 ? 沒(méi)有同步 ? 線程不安全底層是由鏈表實(shí)現(xiàn)的)

│└ Stack ? ? ? ? ?(Class)

└+Set(接口 不能含重復(fù)的元素。僅接收一次并做內(nèi)部排序,集)

│├ HashSet ? ? ? ? ? ?(Class)

│├ LinkedHashSet ? (Class)

│└ TreeSet? ? ? ?(Class)

+Map(接口)

├ +Map(接口 映射集合)

│ ├ HashMap ? ? ? ? ? ?(Class 不同步,線程不安全。除了不同和允許使用null 鍵值之外,與Hashtable大致相同)

│ ├ Hashtable ? ? ? ? ? (Class 同步 ? ,線程安全 ? ?。不允許實(shí)施null 鍵值)

│ ├ +SortedMap 接口

│ │? ?├ TreeMap? ? ? ? ?(Class)

│?├ WeakHashMap ? ? (Class)

ArrayList , Vector , LinkedList 是 List 的實(shí)現(xiàn)類

Vector是線程安全的,效率肯定沒(méi)有ArrayList高了。實(shí)際中一般也不怎么用Vector,可以自己做線程同步,也可以用Collections配合ArrayList實(shí)現(xiàn)線程同步。

前面多次提到擴(kuò)容的代價(jià)很高,所以如果能確定容量的大致范圍就可以在創(chuàng)建實(shí)例的時(shí)候指定,注意,這個(gè)僅限于ArrayList和Vector喲:

ArrayList arrayList = new ArrayList(100);

arrayList.ensureCapacity(200);

Vector vector = new Vector(100);

vector.ensureCapacity(200);

a.排序

List的排序的話就是使用Collections的sort方法,構(gòu)造Comparator或者讓List中的對(duì)象實(shí)現(xiàn)Comparaable都可以,這里就不貼代碼了。

b.去重

第一種:用Iterator遍歷,遍歷出來(lái)的放到一個(gè)臨時(shí)List中,放之前用contains判斷一下。

第二種:利用set的不可重復(fù)性,只需三步走。

//第一步:用HashSet的特性去重

HashSet tempSet = new HashSet(arrayList);

//第二步:將arrayList清除

tempSet.clear();

//第三步:將去重后的重新賦給List

arrayList.addAll(tempSet);

Stack

Stack呢,是繼承自Vector的,所以用法啊,線程安全什么的跟Vector都差不多,只是有幾個(gè)地方需要注意:

第一:add()和push(),stack是將最后一個(gè)element作為棧頂?shù)?#xff0c;所以這兩個(gè)方法對(duì)stack而言是沒(méi)什么區(qū)別的,但是,它們的返回值不一樣,add()返回boolean,就是添加成功了沒(méi)有;push()返回的是你添加的元素。為了可讀性以及將它跟棧有一丟丟聯(lián)系,推薦使用push。

第二:peek()和pop(),這兩個(gè)方法都能得到棧頂元素,區(qū)別是peek()只是讀取,對(duì)原棧沒(méi)有什么影響;pop(),從字面上就能理解,出棧,所以原棧的棧頂元素就沒(méi)了。

HashSet和TreeSet

Set集合類的特點(diǎn)就是可以去重,它們的內(nèi)部實(shí)現(xiàn)都是基于Map的,用的是Map的key,所以知道為什么可以去重復(fù)了吧。

既然要去重,那么久需要比較,既然要比較,那么久需要了解怎么比較的,不然它將1等于2了,你怎么辦?

比較是基于hascode()方法和equals()方法的,所以必要情況下需要重新這兩個(gè)方法。

HashMap效率高于HashTable。

多線程環(huán)境下,通常也不是用HashTable,因?yàn)樾实汀ashMap配合Collections工具類使用實(shí)現(xiàn)線程安全。同時(shí)還有ConcurrentHashMap可以選擇,該類的線程安全是通過(guò)Lock的方式實(shí)現(xiàn)的,所以效率高于Hashtable。

總結(jié)

以上是生活随笔為你收集整理的java 类 大全_JAVA集合类汇总的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

主站蜘蛛池模板: 国产在视频线精品视频 | 宅男噜噜噜 | 最新激情网站 | 精品成人av一区二区在线播放 | 欧美 日韩 国产 中文 | 婷婷综合精品 | 综合色综合 | 青娱乐最新视频 | 美国毛片av | 四虎在线免费观看 | 18禁裸乳无遮挡啪啪无码免费 | 美国av片 | 中文字幕色片 | 亚洲激情综合 | 国产高清在线一区 | caopeng视频| 亚洲国产区 | 欧美日韩国产电影 | 久久久精品国产sm调教 | 国模福利视频 | 天天槽 | 深爱开心激情 | 超碰黑人| 久久国产经典视频 | 欧美第一夜| 91视频在| 日韩性插 | 亚洲国产精品尤物yw在线观看 | 视屏一区| 一区二区成人精品 | 久久中文精品 | 大陆明星乱淫(高h)小说 | 亚洲理论在线观看 | 国产女同在线观看 | 国产免费黄色录像 | 裸体一区二区三区 | 天天干天天做 | 国产精品久久福利 | 91视频免费观看 | 国产无遮挡又黄又爽又色视频 | 国产精品5 | 亚洲女人天堂成人av在线 | 日韩黄色免费网站 | 亚洲av永久中文无码精品综合 | 超碰操| 国产成人精品视频在线观看 | 亚洲久热 | 日本在线视频播放 | 日本天天色 | 91麻豆精品在线观看 | 人妻熟女一区二区aⅴ水 | 亚洲日本欧美精品 | 无码人妻丰满熟妇奶水区码 | 最色网站| 天天干夜夜操 | 北岛玲一区二区 | 色姐 | 91免费视频入口 | 日本福利在线 | 欧美日韩综合一区二区 | 直接看av的网站 | 亚洲第一成年网 | 国产精品久久精品三级 | av免费在线播放 | 免费极品av一视觉盛宴 | 亚洲综合在线播放 | 少妇激情在线 | 日日摸天天爽天天爽视频 | 91人妻一区二区三区蜜臀 | 日韩欧美一区二区一幕 | 亚洲视频大全 | 一区二区中文字幕在线观看 | 无码人妻一区二区三区av | 亚洲国产永久 | 天天干导航 | 黄色男同视频 | 麻豆日产六区 | 脱女学生小内内摸了高潮 | 亲子乱aⅴ一区二区三区 | 伊人久久影院 | 亚洲 自拍 另类 欧美 丝袜 | 色爱区综合 | 久久久精品999 | 亚洲 欧美 国产 另类 | 久久一久久 | 欧美精品久久久久a | 亚洲自拍色图 | 青青视频网 | 日本视频h| 日本一区二区三区成人 | 91涩涩涩 | 日本a级无毛 | 五月婷婷视频 | 亚洲红桃视频 | 一本一道久久a久久 | 中文字幕av免费 | 黄久久久 | 美女被草出白浆 | 黄色污污视频 |