集合的概述:

1.什么是集合?有什么用?

数组其实就是一个集合。集合实际上就是一个容器,可以容纳其它类型的数据。

集合为什么在开发中使用较多?

集合是一个容器,是一个载体,可以一次容纳多个对象。

在传输很多数据时,可以把这么多数据放进集合中,只需要

传一个集合就可以了。

2.集合不能直接存储基本数据类型,也不是存储java对象,而是存储对象的地址。或者说集合存储的是引用。

当存基本数据类型时:list.add(100);//自动装箱成Integer

注意:集合本身就是一个容器,也是一个java对象。

集合中任何时候存储的都是java对象的内存地址。

3.在java中每一个不同的集合,底层会对应不同的数据结构。

例如:

ArrayList,底层是数组;

LinkedList,底层是链表;

TreeSet,底层是二叉树;

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集合中的元素是可排序的。

无序:

不可重复:

可排序:可以按照大小进行排列。

常用集合的继承结构图:

简图:

java 集合类继承体系 java集合的继承体系_java对象

详细图:

java 集合类继承体系 java集合的继承体系_java对象_02

常用Map的继承结构图:

简图:

java 集合类继承体系 java集合的继承体系_java 集合类继承体系_03

详细图:

java 集合类继承体系 java集合的继承体系_JAVA中的集合及继承_04