为何要用集合?
一方面 面向对象语言对事物的体现都是以对象的形式,为了方便对多个对象的操作,就要对对象进行存储。 另一方面, 使用Array存储对象方面具有一些弊端,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中。
数组在内存存储方面的特点:
- 数组初始化以后,长度就确定了。
- 数组声明的类型,就决定了进行元素初始化时的类型
数组在存储数据方面的弊端:
- 数组初始化以后,长度就不可变了,不便于扩展
- 数组中提供的属性和方法少,不便于进行添加、删除、插入等操作,且效率不高。
- 同时无法直接获取存储元素的个数
- 数组存储的数据是有序的、可以重复的。---->存储数据的特点单一
Java集合的内部继承关系:
Collection接口:(单列集合,用来储存一个一个的对象)
|----------List接口:(有序可重复“动态数组”)
|-----------------实现类:ArrayList/LinkedList/Vector
|----------Set接口:(无序、不可重复(可用作过滤))
|----------------实现类:HashSet/LinkedHashSet/TreeSet
Map接口:(双列集合,用来储存一对一对(key-value)的数据)
|-----------------实现类:HashMap/LinkedHashMap/TreeMap/HashTable/Properties
下面是内部关系的图解:
往期推荐: