8 JAVA基礎之集合

Java中的集合分爲value,key--vale(Conllection Map)兩種。

存儲值有分爲List 和Set。

List是有序的,可以重複的,查找元素效率高,插入刪除效率低,實現類有ArrayList,LinkedList,Vector。

Set是無序的,不可以重複的。根據equals和hashcode判斷,也就是如果一個對象要存儲在Set中,必須重寫equals和hashCode方法。刪除和插入效率高,插入和刪除不會引起元素位置改變 <實現類有HashSet,TreeSet>

存儲key-value的爲map。

 

ArrayList和LinkedList的區別?

  List常用的ArrayList和LinkedList。區別和使用場景?

  ArrayList底層使用時數組。LinkedList使用的是鏈表。

  數組查詢具有所有查詢特定元素比較快。而插入和刪除和修改比較慢(數組在內存中是一塊連續的內存,如果插入或刪除是需要移動內存)。

  鏈表不要求內存是連續的,在當前元素中存放下一個或上一個元素的地址。查詢時需要從頭部開始,一個一個的找。所以查詢效率低。插入時不需要移動內存,只需改變引用指向即可。所以插入或者刪除的效率高。

 

ArrayList使用在查詢比較多,但是插入和刪除比較少的情況,而LinkedList使用在查詢比較少而插入和刪除比較多的情況。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章