Collection集合中数据并不能直接通过for循环获取集合中的每一个值,并对其中的值去进行操作。
所以只能通过其他方式间接的去对Collection集合进行遍历。
1.转数组遍历方式。
就是将Collection集合通过toArray()方法转换成数组之后,再通过for循环进行遍历操作。
//转数组遍历
//add()方法中的数据都通过自动类型转换成了Object类型的数据,add(Object e);
Object[] obj=list.toArray();//所以通过toArray()方法将集合list转换成Object数组。
for(int i=0;i<obj.length;i++){
System.out.println(obj[i]);//对数组obj的每一个元素进行操作。
}
2.迭代器遍历。
迭代器是集合专用的遍历方式,一遍一遍的进行替代。
java中获取集合迭代器的方法:集合Collection中提供了iterator()方法可以获取迭代器对象。
Iterator<E> iterator() 返回集合中元素的迭代器,
迭代器Iterator中常用的方法:
boolean hasNext(); 判断下一个指针位置是否存在元素。
Object next(); 移动一次指针,并获取该指针位置上的元素。
void remove(); 删除迭代器对象当前指向的元素。
Iterator a=list.iterator();//获取迭代器对象。
System.out.println(a.hasNext());//判断集合位置上是否存在元素。
System.out.println(a.next());//输出获取的元素。
使用上面的这种方法,每当我们要获取一个元素时就要写一遍 System.out.println(a.hasNext());
System.out.println(a.next());。这样会很麻烦。所以可以采用 循环 进行获取。
while(a.hasNext()){//循环条件是判断下一个位置是否存在元素。
System.out.println(a.next());
}
3.增强for循环遍历。
for(元素数据类型 变量名 :集合名){//数据类型是指集合中所存储的数据的类型
//变量名是你对集合中所有的元素取的一个共同的名字
//对变量名的操作
}