package cn.itcast.collection;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
/*
迭代 : 遍历集合中的元素。
toArray()
iterator() 获取集合中的迭代器 。 迭代器的作用就是用于抓取集合中的元素。
迭代器常用的方法:
hasNext() 有没有元素可遍历啊?
next() 获取当前游标指向的元素,然后游标向下移动一个单位。
remove() 移除迭代器最后一次返回的元素。
*/
public class Demo4 {
public static void main(String[] args) {
Collection c = new ArrayList();
c.add("王林");
c.add("马云");
c.add("赵薇");
c.add("思聪");
/*
遍历集合元素的方式一:可以使用toArray方法遍历
Object[] arr = c.toArray(); //把集合中的元素存储到一个Object数组中返回。
for(int i = 0 ; i < arr.length ; i++){
System.out.print(arr[i]+",");
}
*/
//获取到了迭代器
Iterator it = c.iterator();
/*System.out.println("有元素可遍历吗?"+ it.hasNext());
System.out.println("元素:"+ it.next());
while(it.hasNext()){
System.out.println(it.next());
}
it.remove();
*/
//清空集合的元素
while(it.hasNext()){
it.next();
it.remove();
}
System.out.println("集合的元素:"+ c);
}
}
关于Iterator是接口类是否调用接口对象的解释:
package cn.itcast.collection;
interface Dao{
public void add();
}
class UserDao implements Dao{
@Override
public void add() {
System.out.println("添加用户成功..");
}
}
public class Demo5 {
public static void main(String[] args) {
//面向接口的多态 : 使用接口声明一个变量,然后该变量指向接口实现类的对象。
Dao dao = getInstance();
}
public static Dao getInstance(){
return new UserDao(); //dao接口的实现类对象
}
}