Java中集合的概述及常用集合的继承结构

集合的概述:

1.什么是集合?有什么用?
数组其实就是一个集合。集合实际上就是一个容器,可以容纳其它类型的数据。

集合为什么在开发中使用较多?
集合是一个容器,是一个载体,可以一次容纳多个对象。
在传输很多数据时,可以把这么多数据放进集合中,只需要
传一个集合就可以了。

2.集合不能直接存储基本数据类型,也不是存储java对象,而是存储对象的地址。或者说集合存储的是引用。
当存基本数据类型时:list.add(100); //自动装箱成Integer

注意:集合本身就是一个容器,也是一个java对象。
集合中任何时候存储的都是java对象的内存地址。

3.在java中每一个不同的集合,底层会对应不同的数据结构。
例如:
ArrayList,底层是数组;
LinkedList,底层是双向链表;
Vector,底层是数组;
HashSet底层是HashMap,HashMap底层是哈希表;
TreeSet底层是TreeMap,TreeMap底层是二叉树;

4.集合在java jdk中哪个包下?
java.util.*
所有集合类和集合接口都在java.util包下。

5.如果想学好集合这块内容,必须得理清集合的继承结构。

6.在java中集合分为两大类:
一类是单个方式存储元素;
这一类集合的超级父接口是:java.util.Collection

一类是以键值对的形式存储元素。
这一类集合的超级父接口是:java.util.Map

总结常用的实现类:
ArrayList:底层是数组。放进去的值可以重复。
LinkedList:底层是双向链表。
Vector:底层是数组,线程安全的,效率较低,使用较少。
HashSet:底层是HashMap,放到HashSet集合的元素等同于放到HashMap集合的key部分。
TreeSet:底层是TreeMap,放到TreeSet集合的元素等同于放到TreeMap集合的key部分。
HashMap:底层是哈希表。
Hashtable:底层也是哈希表,线程安全的,效率较低,使用较少。
Properties:是线程安全的,并且key和value只能存储字符串String。
TreeMap:底层是二叉树,TreeMap集合的key可以自动按照大小顺序排序。

List集合存储元素的特点:
有序可重复。
有序:存进去的顺序和取出来的顺序相同,每一个元素都有下标。
可重复:存进去一个1,可以再存进去一个1。

Set集合存储元素的特点:
无序不可重复。
无序:存进去的顺序和取出来的顺序不一定相同,另外每一个元素没有下标。
不可重复:存进去一个1,不能再存储一个1。

SortedSet集合存储元素的特点:
首先是无序不可重复的,但是SortedSet集合中的元素是可排序的。
无序:存进去的顺序和取出来的顺序不一定相同,另外每一个元素没有下标。
不可重复:例如存进去一个1,不能再存储一个1。
可排序:可以按照大小进行排列。

常用集合的继承结构图:
简图:
Java中集合的概述及常用集合的继承结构
详细图:
Java中集合的概述及常用集合的继承结构

常用Map的继承结构图:
简图:
Java中集合的概述及常用集合的继承结构
详细图:
Java中集合的概述及常用集合的继承结构