数组的缺点
- 长度开始时必须指定,而且一旦指定,不能更改
- 保存的必须为同一类型的元素
- 使用数组进行增加元素比较麻烦(新建数组、拷贝)
集合的优点(增删改查)
- 可以动态保存任意元素,使用比较方便
- 提供了一系列方便的操作对象的方法:add、remove、set、get等
- 使用集合添加、删除新元素的代码简洁明了
集合框架
- 集合主要分为两大类:
- Collection 单列集合
- List
- ArrayList
- LinkedList
- Vector
- Set
- Map 双列集合
- HashMap
- TreeMap
- Hashtable
- Properties
Collection接口实现类的特点
public interface Collection<E> extends Iterable<E>
- Collection实现子类可以存放多个元素,每个元素可以是Object
- 有些Collection的实现类,可以存放重复的元素,有些不可以
- 有些Collection的实现类,有些可以是有序的(list),有些可以是无序的(set)
- Collection接口没有直接的实现子类,是通过它的子接口Set和List来实现的
- 拿ArrayList举例,一些基本方法如下:

- Tip:add和remove都是需要传入一个对象,也就是说如果add传入一个int数字,会对其进行自动装包,此刻有以下两种方法进行remove:
- .remove(index),根据索引进行删除
- .remove(new Integer(10)),此时也可以将第一个具有相同值的对象删除掉
Collection接口遍历方法
1、迭代器
Collection col = new ArrayList();
col.add(new MyClass(1));
col.add(new MyClass(2));
col.add(new MyClass(3));
Iterator iterator = col.iterator();

- Tips:在调用iterator.next()方法之前必须要调用iterator.hasNext()进行检测,若不调用,且下一条记录无效的话,会抛出NoSuchElementException异常
while(iterator.hasNext()){
Object next = iterator.next();
}
iterator = col.iterator();
2、增强for循环