亚洲人成图片小说网站,亚洲AV无码1区2区久久,亚洲一区二区三区日本久久九,国产精品 高清 尿 小便 嘘嘘,精品国产一区二区三区免费

網(wǎng)站開(kāi)發(fā) APP開(kāi)發(fā) 小程序開(kāi)發(fā) SEO優(yōu)化 公司新聞

java集合

2018-05-07 09:20:24
1117

  在日常開(kāi)發(fā)中,集合與排序是每一個(gè)程序員經(jīng)常用到的技能,但是在用集合的時(shí)候我們還應該知道他的底層結構是什么樣的.

  首先來(lái)說(shuō)一下list集合,list集合底層代碼是通過(guò)延長(cháng)數組來(lái)實(shí)現的,所有我們在list集合中經(jīng)??梢愿杏X(jué)其用法與數組非常類(lèi)似.list集合會(huì )有一個(gè)初始的長(cháng)度,在每一次進(jìn)行存值的時(shí)候,list集合都會(huì )判斷該集合的長(cháng)度是否達到臨界值(一般為75%),然后對其進(jìn)行擴容,一般是對當前的長(cháng)度進(jìn)行翻倍.這樣就可以使list集合擁有無(wú)限長(cháng)的空間存儲數據.

  set集合是一種單列的,不重復的集合.一般用于存取一些主要的數據,比如用戶(hù)的一些核心信息,這些東西不允許重復的.而且set集合因為實(shí)現了hashCode的算法來(lái)進(jìn)行存取,所有有比較強的查找與讀取能力.

  Map集合也是我們平常廣泛用到的一種集合,map集合的長(cháng)度與list大致相同,但是map集合是一種list集合與set集合的組合起來(lái)的集合,因為它是在一條list上給每個(gè)元素對應一個(gè)set集合,還會(huì )對該set集合進(jìn)行鏈表式排序,當集合中的數據大于指定數量時(shí),map集合對將數據再次進(jìn)行紅黑樹(shù)的排序,以保證查詢(xún)的效率.

?