一些弊端
,而Java 集合就像一种容器,可以动态地把多个对象的引用放入容器中。数组在内存存储方面的特点:
数组初始化以后,长度就确定了。
数组声明的类型,就决定了进行元素初始化时的类型
数组在存储数据方面的弊端:
数组初始化以后,长度就不可变了,不便于扩展
数组中提供的属性和方法少,不便于进行添加、删除、插入等操作,且效率不高。
同时无法直接获取存储元素的个数
数组存储的数据是有序的、可以重复的。---->存储数据的特点单一
对象
,还可用于保存具有映射关系的关联数组。说明:此时的存储,主要是指内存层面的存储,不涉及持久化的存储(.txt,.jpg,.avi,数据库中)
一旦初始化,长度就确定了。
数组一旦定义好,其元素类型也就确定了,我们只能操作指定类型的数据。比如:String[] arr; int[] arr1;Object[] arr2;
一旦初始化,长度不可以修改。
数组提供的方法非常有限,对于添加、删除、插入数据等操作,非常的不便,同时效率不高。
获取数组中实际元素的个数的需求,数组没有现成的属性或者方法可以使用。
数组存储数据的特点:有序、可重复。对于无序、不可重复的需求,不能满足。
Collection接口
:单列数据,定义了存取一组对象的方法的集合List:元素有序、可重复的集合
Set:元素无序、不可重复的集合
Map接口
:双列数据,保存具有映射关系“key-value对”的集合
JDK提供的集合API位于java.util包内
collection接口
:单列集合,用来存储一个个的对象
list接口:存储有序、可重复的数据 ---->’动态‘数组
—ArrayList、linkList、Vector
set接口:存储无序、不可重复的数据 ---->高中讲的“集合”
—HashSet、LinkHashSet、TreeSet
map接口
:双列集合,用来存储一对(key-value)一对数据 —>高中 y = f(x)
—HashMap、LinkHashMap、TreeMap、Hashtable、properties