通俗来说,集合就是一个放数据容器,它主要包括collection和map集合首先让我们来说说collection(Java.util包)集合,它继承了iterable接口 ,接口提供了迭代器  包括list、set、queue这几个子接口对象一、List(特点是可以重复添加元素和是有顺序的)
1.ArrayList
特点:基于数组的单链表集合。
优点:查询效率高,可以自动扩容。
缺点:添加删除速度慢。
2:LinkedList
优点:增删改速度快。
缺点:查询速度慢。二.Set(不可以保存重复的数据,没有顺序)
1.HashSet
特点:速度最快,集合中元素可以为null,但是只能放入一个
2.TreeSet
特点:可有序的保存对象
3.LinkedSet
特点:按照添加进来的顺序保存对象三.queue(队列)
特点:队列也是一种线性表,对于它所有的插入都在队列的一-端进行, 所有的删除都在另一端进行,进行删除的一端叫队列的 “头”,进行插入的一端叫队列的“尾”,其操作特点是“先进先出”。
然后来说说map集合
Map的特点
①将键映射到值的对象
②一个映射不能包含重复的键
③每个键最多只能映射到一一个值1.HashMap(是map的实现 因此它内部的元素是由键值对组成的
特点:超快的查询速度以及动态的可变长储存数据(较数组而言)
缺点:使用不当占用内存
2.TreeMap
特点:无序,不允许重复,默认会对键进行排序
3.LinkedMap
特点:按照插入顺序进行排序同时还保留HashMap的查询速度

解决方案 »

  1.   

    这张图了解一下,然后查官方jdk文档,那里非常的详细
      

  2.   

    《数据结构》这本教材里介绍了你列出的这几个经典结构。jdk用collection、map及其几个子类,实现了这几个经典结构管理,我们就可以直接使用这些类,而不用自已写了。
      

  3.   

    楼主,你已经把这几个分析了一下,不知道你的问题是什么.如果是想看看他们的具体实现,Java本身是开源的,可以直接去看他的实现代码,看懂了,对你的编程有很大的帮助.