详细内容
什么是集合?
1、集合类存放于java.util包中。
2、集合类型主要有3种:set(集)、list(列表)和map(映射)。
3、集合存放的都是对象的引用,而非对象本身。所以我们称集合中的对象就是集合中对象的引用。
简单来讲:集合就是一个放数据的容器,准确的说是放数据对象引用的容器。
注意:
● 集合只能存放对象。比如你存入一个int型数据66放入集合中,其实它是自动转换成Integer类后存入的,Java中每一种基本数据类型都有对应的引用类型。
● 集合存放的都是对象的引用,而非对象本身。所以我们称集合中的对象就是集合中对象的引用。对象本身还是放在堆内存中。
● 集合可以存放不同类型,不限数量的数据类型。
集合的由来
通常,我们的Java程序需要根据程序运行时才知道创建了多少个对象。但若非程序运行,程序开发阶段,我们根本不知道到底需要多少个数量的对象,甚至不知道它的准确类型。为了满足这些常规的编程需要,我们要求能在任何时候,任何地点创建任意数量的对象,而这些对象用什么来容纳呢?我们首先想到了数组,但是!数组只能存放同一类型的数据,而且其长度是固定的,那怎么办了?集合便应运而生了。
Java 集合框架主要结构图
发现一个特点,上述所有的集合类,除了map系列的集合,即左边的集合都实现了Iterator接口。
Iterator是一个用来遍历集合中元素的接口,主要有hashNext(),next(),remove()三种方法。
它的子接口ListIterator在它的基础上又添加了三种方法,分别是add(),previous(),hasPrevious()。
从图中我们可以看到:
1、集合主要分为Collection和Map两个接口。
2、Collection又分别被List和Set继承。
3、List被AbstractList实现,然后分为3个子类,ArrayList,LinkList和VectorList。
4、Set被AbstractSet实现,又分为2个子类,HashSet和TreeSet。
5、Map被AbstractMap实现,又分为2个子类,HashMap和TreeMap。
6、Map被Hashtable实现。
推荐学习:Java视频教程