Java Collection:Core Java 9

 

 

先進先出:Queue。

add到尾部,remove在頭部。

一、數組
    1、數組長度不可變。
    2、只有在知道下標的情況下查找才高效。
    3、刪除和插入的空間複雜度高。
    4、新增簡單
二、HashMap
   1、容量可變
    2、可以根據Key通過hash算法得到索引、查找比數組簡單。
    3、刪除和插入的時間複雜度比較高
    4、 新增簡單

 

 Vector:可以實現可增長的對象數組。它可以試用正數索引進行訪問,它的大小可以跟需要增大或者縮小。

    使用時注意:
        1、    如果需要插入大量對象,最好先預計好Vector的大小,這樣就減少了重分配Vector的大小的次數。 
        2、    此類實現了List,因此是Java集合框架的一部分。但是與新集合的實現不同的是,Vector是同步的。
        3    、由Vector的Iterator和listIterator方法返回的迭代器是快速失敗的:如果在迭代器牀後的任意時間從結構上通過迭代器自身的remove或者add方法之外的任何其他方式修改了向量 ,則迭代器將拋出ConcurrentModificationException。因此面對併發的修改,迭代器很快就完全失敗。

 

 

Stack:表示先進先出的對象堆棧。繼承了Vector,但提供了五個操作(push、pop、empty、peek、search)對向量進行了擴展,允許將向量視爲堆棧。

 

TreeMap : 有序Map,可以實現元素有序插入,即每次插入新的元素時都會按照排序順序將其插入到合適位置。

1、其存儲結構是紅黑二叉排序樹,因此命名爲TreeSet。

2、元素重寫了 compareTo()方法或者在new TreeMap(comparator)時給定一個比較器即可。

TreeSet : 有序的List,其實際存儲容器就是TreeMap。

在new TreeSet(Comparator cmp)時,給定一個比較器就可以實現有順序的插入。

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