[javaSE笔记10]Collection集合框架 iterator迭代器 增强for循环foreach
集合和数组的区别 :
-
数组的长度固定, 集合的长度可变
-
数组中存储的是同一类型的元素, 集合存储的都是对象
Collection(单列集合)的框架
Collection下的方法
最顶层, 所有实现类都可以使用 :
方法 | 作用 |
---|---|
boolean add(E e) |
向集合中添加元素 |
boolean remove(E e) |
删除集合中某个元素 |
void clear() |
清空集合中所有元素 |
boolean isEmpty() |
判断集合是否为空 |
int size() |
获取集合的长度 |
Object[] toArray() |
将集合转换成一个数组 |
Iterator迭代器
Iterator迭代器是一个接口, 无法直接使用, 需要获取实现类, 获取实现类的方式 :
Collectioni.iterator()返回在collection的元素上进行迭代的迭代器
使用步骤 :
- 获取迭代器的实现类对象
- 使用iterator接口中的方法hasNext判断有没有下一个元素
- 使用iterator接口中的放啊next取出下一个元素
e.g.
Collection<String> col = new ArrayList<>();
col.add("jack");
col.add("mike");
col.add("amy");
Iterator<String> it = col.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
//out : jack mike amy
( 迭代器的实现就像一个指针, 初始指在下标为-1的位置, 然后通过不断地next移动到集合末尾 )
增强for循环 --- for each
格式 :
for (集合/数组的数据类型 变量名 : 集合名/数组名) {}
e.g.
public static void main(String[] args) {
// 遍历数组
int[] arr = {1,2,3,4,5};
for (int i : arr) {
System.out.println(i);
}
// 遍历集合
Collection<String> col = new ArrayList<>();
col.add("jack");
col.add("mike");
col.add("amy");
for (String a: col) {
System.out.println(a);
}
}