對於java.util包中幾個集合的一些區別

 對於java.util包中幾個集合的一些區別,方便大家的使用:
  1.對ArrayList:它是以數組的方式存儲,所以允許按序號索引元素,但是插入元素要涉及元素的移動,所以索引數據快但是插入數據慢,而且沒有實現線程同步,所以安全性較低,還有就是容量的增加是以一半的步調增加。
  2.對Vector: 它是以數組的方式存儲,所以允許按序號索引元素,但是插入元素要涉及元素的移動,所以索引數據快但是插入數據慢,而且實現線程同步,所以性能相對較低,還有就是容量的增加是以一倍的步調增加。
  3.對LinkedList:它是以鏈表的方式存儲,所以按序號索引元素要前後遍歷速度較慢,但是插入元素快,而且沒有實現線程同步,所以安全性較低,還有就是容量的增加是以一半的步調增加。
  4.對Hashtable:線程同步,不允許用空值作爲鍵或是值,包含contains方法
  5.對HashMap:線程非同步,允許用空值作爲鍵或是值,包含containsvalue和containskey方法。

  List是接口ArrayList,Vector,LinkedList都實現了此接口。

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