java集合类详解(一)

原创 2016年08月30日 16:37:07

       最近一直想去总结java集合类,但是网上的一些资料,总是没有显示全真正的java集合类,今天凑巧在网上看到这么一张图:
这里写图片描述
点击放大图片

那么我们为什么要引入集合这个概念?

       在集合之前,当我们处理数据时,需要使用数组:
       1.固定的大小,或不可能增长太多
       2.同一个数组只能存放类型一样的数据(基本类型/引用类型)
       3.你会做大量的索引,即你知道你会经常想要第三个元素,或第五,或任何。
       所以我们才有了集合,我们不再担心以上数组出现的问题。

       我们不难发现,java集合类总共分为两大类:Map和Collection.

       处于图片左上角的那一块灰色里面的四个类(Dictionary、HashTable、Vector、Stack)都是线程安全的,但是它们都是 JDK的老的遗留类,现在基本都不怎么使用了,都有了对应的取代类。其中Map是用来代替图片中左上角的那个Dictionary抽象类(Map的官方文 档里面有说明)。官方推荐使用Map接口来代替它。同样对于HashTable,官方推荐ConcurrentHashMap来代替。接着下面的Vector是List下面的一个实现类。

       接着最上面的粉红色部分是集合类所有接口关系图。其中Map的结构比较简单,而Collection的结构就相对复杂一些。Collection有三个继承接口:List、Queue和Set。

       接下来的绿色部分则是集合类的主要实现类了。这也是我们最经常使用的集合类了。

按照实现接口分类:

实现Map接口的有:EnumMap、IdentityHashMap、HashMap、LinkedHashMap、WeakHashMap、TreeMap
实现List接口的有:ArrayList、LinkedList
实现Set接口的有:HashSet、LinkedHashSet、TreeSet
实现Queue接口的有:PriorityQueue、LinkedList、ArrayQueue

       最下方的一个整块都是java.util.concurrent包里面的类,按照包名我们就可以知道这个包里面的类都是用来处理Java编程中各种并发场景的。

       下一篇,则会从底层实现来分析常用的集合类。

版权声明:本文为博主原创文章,未经博主允许不得转载。

java集合类源码解析(1)---类关系简介

JAVA集合类 java集合类是java基础中比较重要而且常用的类,主要定义了几种简单的数据结构 下面上图来了解一下集合类的关系————————————————————————-不难看出,集合类主...
  • chai190403157
  • chai190403157
  • 2016年08月15日 23:38
  • 290

Java集合类详解-LinkedList

(二).LinkedList源码解析 LinkedList是基于链表结构的一种List,在分析LinkedList源码前有必要对链表结构进行说明。 1.链表的概念 链表是由一系列非连续的节点组成的存储...
  • zouyong187399
  • zouyong187399
  • 2016年08月17日 23:31
  • 124

集合类 Java中的集合类解析和一些有深入的面试题

Java集合类解析 List、Map、Set三个接口,存取元素时,各有什么特点? List 以特定次序来持有元素,可有重复元素。Set 无法拥有重复元素,内部排序。Map 保存...
  • qq_33326449
  • qq_33326449
  • 2016年10月05日 23:39
  • 3132

史上最全的Java集合类解析

本文仅分析部分原理和集合类的特点,不分析源码,旨在对java的集合类有一个整体的认识,理解各个不同类的关联和区别,让大家在不同的环境下学会选择不同的类来处理。Java中的集合类包含的内容很多而且很重要...
  • HHcoco
  • HHcoco
  • 2016年11月10日 17:03
  • 16548

java集合类详解(一)

Collection接口   Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。一些 Collection允许相同...
  • wuscar0703
  • wuscar0703
  • 2016年10月28日 15:21
  • 76

Java集合 List接口详解

Java List接口详解 ArrayList,Vector,LinkedList
  • oYueYang1
  • oYueYang1
  • 2017年09月04日 13:10
  • 170

Java集合类详解

Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └...
  • u010818222
  • u010818222
  • 2013年08月19日 22:09
  • 241

JAVA集合类详解

集合类说明及区别 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├...
  • wuxinliulei
  • wuxinliulei
  • 2013年08月22日 13:36
  • 540

java集合类详解

Java集合类详解 集合类说明及区别 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashta...
  • gao8658
  • gao8658
  • 2013年12月10日 10:03
  • 512

Java集合类——Collection接口(传智播客毕老师视频讲解)

为什么出现集合类? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,集合就是存储对象最常用的一种方式。 数组和集合类同是容器,有何不同? 数组虽然也可以...
  • lx20012002
  • lx20012002
  • 2014年09月15日 14:51
  • 1130
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java集合类详解(一)
举报原因:
原因补充:

(最多只允许输入30个字)