1、Collection集合
可以动态保存任意多个对象,使用比较方便!
提供了一系列方便的操作对象的方法:add、remove、set、get等
使用集合添加,删除新元素的示意代码-简洁了
1.1 集合框架体系
Java的集合类主要分为两大类:
-
单列集合
-
双列集合
1.2 Collection接口
public interface Collection extends Iterable
Collection接口实现类的特点:
- collection实现子类可以存放多个元素,每个元素可以是Object
- 有些Collection的实现类,可以存放重复的元素,有些不可以重复
- 有些Collection的实现类有些是有序的(List),有些是无序(Set)
- Collection接口没有直接的实现子类,是通过它的子接口Set和 List来实现的
1.2 Collection接口常用方法
以实现子类ArrayList为例
- add:添加单个元素
- remove:删除单个元素
- contains:查找元素是否存在
- size:获取元素个数
- isEmpty’:判断是否为空
- clear:清空
- addAll:添加多个元素
- containsAll:查找多个元素是否存在
- removeAll:删除多个元素
List list = new ArrayList();
//add 添加单个元素
list.add("jack");
list.add(10);//list.add(new Integer(10));
list.add(true);
list.add('a');
list.add(11.0);
System.out.println("list:"+list);//list:[jack, 10, true]
//remove 删除指定元素
list.remove(true);//指定删除某个元素
list.remove(0);//删除该索引位置的元素
System.out.println("list:"+list);//list:[10, a, 11.0]
//contains 查找元素是否存在
System.out.println(list.contains(true));//false
//size 获取元素个数
System.out.println(list.size());//3
//isEmpty 判断是否为空
System.out.println(list.isEmpty());//false
1.3 Iterator 迭代器
因为 Collection集合 实现了 Iterable接口
故Collection的实现类都拥有 Iterable接口中的 Iterator iterator();方法
返回一个Iterator对象
- Iterator对象称为迭代器,用于遍历Collection集合中的元素
- 所有实现了Collection接口的集合类都有一个 iterator方法,用于返回一个Iterator接口类型对象
- Iterator的结构
- Iterator用于遍历集合,Iterator本身并不存放对象
ArrayList类实现的Iterator():
会有个成员内部类实现了Iterator接口,返回该类对象
Iterator接口的方法:
使用举例:
注意:若需要再次遍历,需重新获得迭代器对象
System.out.println("迭代器遍历:");
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
System.out.print(iterator.next()+" ");
}
//iterator.next(); 会报异常NoSuchElementException
//若需要再次遍历,需重新获得迭代器对象
iterator = list.iterator();
while (iterator.hasNext()) {
System.out.print(iterator.next()+" ");
}
1.4 增强for循环
增强for就是简化版的iterator,可以替代iterator迭代器
只能用于遍历集合或数组
注意:底层仍然是使用Iterator迭代器
//使用增强for
for (Object o : list) {
System.out.println(o);
}