前言
内存层面需要针对多个数据进行存储时,可以考虑的容器有:数组、集合类
1. 数组存储数据的特点
- 数组一旦初始化,器长度就固定了
- 数组中的元素是依次紧密排列的、有序的、可重复的
- (优点)数组一旦初始化完成,器元素类型就确定了,不是此类型的元素就不能添加到此数组
- (优点)数组元素的类型既可以是基本数据类型,也可以是引用数据类型
2. 数组存储数的弊端
- 数组一旦初始化,器长度就不可变了;集合长度可变
- 数组中存储数据类型单一性、有序性、可重复性,对于无序的、不可重复的场景就无能为力了;集合不会,需要通过泛型限制元素类型
- 数组中可用的方法、属性很少(尽管继承Object类),具体的需求还要自己声明逻辑代码
- 对于数组元素的删除、插入操作,性能较差
3. 集合框架体系(java.util包下)
java.util.Collection:存储一个一个的元素(value)
- (子接口)List :有序、可重复(“动态”数组)
- (实现类)ArrayList、LinkedList、Vector
- (子接口)Set:无序、不可重复
- (实现类)HashSet、LinkedHashSet、TreeSet
java.util.Map:存储一对一对的元素(key-value)
- (实现类)HashMap、LinkedhashMap、TreeMap、Properties