Java--容器认识

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java--容器认识相关的知识,希望对你有一定的参考价值。

一.为什么会出现同步容器?

  在Java的集合容器框架中,主要有四大类别:List、Set、Queue、Map。

  List、Set、Queue接口分别继承了Collection接口,Map本身是一个接口。

  注意Collection和Map是一个顶层接口,而List、Set、Queue则继承了Collection接口,分别代表数组、集合和队列这三大类容器。

  像ArrayList、LinkedList都是实现了List接口,HashSet实现了Set接口,而Deque(双向队列,允许在队首、队尾进行入队和出队操作)继承了Queue接口,PriorityQueue实现了Queue接口。另外LinkedList(实际上是双向链表)实现了了Deque接口。

  像ArrayList、LinkedList、HashMap这些容器都是非线程安全的。

  如果有多个线程并发地访问这些容器时,就会出现问题。

  因此,在编写程序时,必须要求程序员手动地在任何访问到这些容器的地方进行同步处理,这样导致在使用这些容器的时候非常地不方便。

  所以,Java提供了同步容器供用户使用。

二. 同步容器类别概览

技术分享

三. 同步容器源码详解

资料参考:http://www.cnblogs.com/dolphin0520/category/602384.html

通过此链接的列表可以详细了解二中的一些容器的实现原理。

本文出自 “Curiosity” 博客,请务必保留此出处http://flash09.blog.51cto.com/8831225/1851785

以上是关于Java--容器认识的主要内容,如果未能解决你的问题,请参考以下文章

从头认识java-14.1 再次对照数组与容器

从头认识java-15.1 填充容器-填充Map

Java认识泛型与容器

从头认识java-15.1 填充容器-利用Collection构造器的方式

从头认识java-13.11 对照数组与泛型容器,观察类型擦除给泛型容器带来什么问题?

JAVA-初步认识-常用对象API(集合框架-List常用子类的特点)