java线程学习之同步容器

java的同步容器有两类:

      (1)、Vector、Stack、HashTable

      (2)、Collections提供的静态方法创建的类

       

                     

               Vector 实现了 List 接口①,Vector 实际上就是一个数组(它是可以增长的),和 ArrayList 类似②,但是 Vector 中的方法都是 synchronized 方法,即进行了同步措施。Vector容量的大小根据需求增大或缩小,用以适应创建Vector后的添加和移除项操作。

                 ①.

                          

                 ②.

                          

                          

 

        Stack 也是一个同步容器,它的方法也用 synchronized 进行了同步,它是Vector类的子类。Stack 类表示后进先出(LIFO)的对象堆栈。它通过五个操作对类 Vector 进行了扩展 ,允许将向量视为堆栈。它提供了通常的 pushpop 操作,以及取堆栈顶点的 peek 方法、测试堆栈是否为空的 empty 方法、在堆栈中查找项并确定到堆栈顶距离的 search 方法。

            

             HashTable 实现了 Map 接口,它和 HashMap 很相似,但是 HashTable 进行了同步处理,而 HashMap 没有。此类实现一个哈希表,该哈希表将键映射到相应的值。任何非 null 对象都可以用作键或值。为了成功地在哈希表中存储和获取对象,用作键的对象必须实现 hashCode 方法和 equals 方法。

 

 

posted on 2019-05-08 17:22  山水爱恋  阅读(102)  评论(0编辑  收藏  举报