1 数组的不足
数组
- 长度开始时必须指定,而且一旦指定,不能更改
- 保存的必须为同一类型的元素
- 使用数组进行增加元素的示意代码-比较麻烦
Person数组扩容示意代码
Person[] pers = new Person[1];
pers[0] = new Person();
//增加新的Person对象
Person[] pers2 = new Person[pers.length+1]; //新创建数组
for(){} //拷贝pers数组元素到pers2
pers2[pers2.length-1] = new Person(); //添加新的对象
2 集合
- 可以动态保存任意多个对象,使用比较方便!
- 提供了一系列方便的操作对象的方法:add、remove.set、get等
- 使用集合添加.删除新元素的示意代码-简洁了
3 集合体系图
- 集合主要是2组(单列集合,双列集合)
- Collection接口有2个重要的子接口List和Set,他们实现子类都是 单列集合
- Map接口的实现子类是 双列集合,存放 K-V
单列集合
ArrayList arraylist = new ArrayList();
arraylist.add("jack");
arraylist.add("tom");
双列集合
HashMap hashMap = new HashMap();
hashMap.put("No1", "北京");
hashMap.put("No2", "上海");