日日夜夜精品视频天天综合网I成人一级片免费看I久久久精品I久草视频免费看I中文字幕亚洲欧美I久久综合免费视频I中文字幕一区二I免费看片在线观看

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

java集合

2018-05-07 09:20:24
2037

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

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

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

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

?