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)时,给定一个比较器就可以实现有顺序的插入。

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