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

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

生活随笔

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

编程问答

hashlist java_java中集合类HashSet、ArrayList、LinkedList总结

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

【HashSet】

1. HashSet存儲(chǔ)不能夠存儲(chǔ)相同的元素,元素是否相同的判斷:重寫(xiě)元素的equals方法。equals方法和hashCode方法必須兼容,如:equals方法判斷的是用戶的名字name,那么hashCode的返回的hashcode必須是name。hashcode();

2. HashSet存儲(chǔ)是無(wú)序的,保存的順序與添加的順序是不一致的,它不是線性結(jié)構(gòu),而是散列結(jié)構(gòu),(通過(guò)散列表:散列單元指向鏈表)。因此,HashSet的查詢效率相對(duì)比較高。

3. HashSet不是線程安全的,不是線程同步的。這需要自己實(shí)現(xiàn)線程同步:Collections.synchronizedCollection(),方法實(shí)現(xiàn)。

【ArrayList】

1. 不是線程安全的,不是線程同步的。

2.ArrayList是通過(guò)可變大小的數(shù)組實(shí)現(xiàn)的,允許null在內(nèi)的所有元素。

3.ArrayList中存放順序和添加順序是一致的。并且可重復(fù)元素。

4.ArrayList適合通過(guò)位子來(lái)讀取元素。

【LinkedList】

1.不是線程安全的,不是線程同步的。

2.LinkedList是通過(guò)雙向循環(huán)鏈表來(lái)實(shí)現(xiàn)的。

3.存放順序和添加順序是一致的。可添加重復(fù)元素。

4.適合鏈表頭尾操作和插入指定位置元素的操作。

ArrayList和LinkedList之間的數(shù)據(jù)傳遞可通過(guò)toArray()方法。

【HashMap】

1.非線程安全,不是線程同步。

2.添加順序和保存的順序是不一致的。

3.必須重寫(xiě)key的equals方法和hashCode方法。

4.HashMap的實(shí)際容量=容量*因子,默認(rèn)為16*0.75=12.所以考慮到HashMap的添加的效率問(wèn)題,根據(jù)實(shí)際情況來(lái)設(shè)計(jì)它的開(kāi)始的默認(rèn)的容量。

的操作方法根據(jù)api來(lái)查找。

5.添加的值中是允許有null的值存在的。

【Hashtable】

1.是線程安全的,是線程同步的,在實(shí)現(xiàn)線程同步的時(shí)候是不需要手動(dòng)來(lái)實(shí)現(xiàn)線程同步的。因此相對(duì)效率低。

2.添加的順序和保存的順序是不一致的。

3.添加的值中是不允許有null值存在的。

【TreeMap】

1.非線程安全,不是線程同步的。在必要的情況下必手動(dòng)實(shí)現(xiàn)線程同步。

2.在元素的添加,刪除和定位映射中效率相對(duì)hashMap較低。但是在排序方面TreeMap比較實(shí)用。

3.添加的值中允許有null值,但是在輸出的時(shí)候會(huì)報(bào)空指針異常。

以上信息并非原創(chuàng),僅作收藏學(xué)習(xí)用。

總結(jié)

以上是生活随笔為你收集整理的hashlist java_java中集合类HashSet、ArrayList、LinkedList总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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