package collection1;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollIterator {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* Collection集合中对元素的获取方法,
* 集合容器都具备取出方式,取出方式并不是一个方法,因为一个方法不足以完成取出,
* 取出是由多个功能来完成,为了方便使用,
* 就将这些功能封装成对象,该对象在描述,这些功能会直接使用到具体集合中的数据和集合特点,
* 所以这个取出元素的描述类,就定义在了集合的内部,也就是一个内部类,
*
* 因为这个类在直接访问集合中的数据,根据集合自身的数据特点,将具体的方法,都定义完成后,需要将对象对外提供出去,让用户使用,
* 所以就暴漏了一个方法,来完成对内部类的访问,
*
* 为了提高扩展性,发现只要是容器,就具备取出功能,但是数据结构不同,取出的具体实现一样,这时为了扩展,就取出了一个接口,
*/
Collection collection=new ArrayList();
collection.add("abc1");
collection.add("abc2");
collection.add("abc3");
collection.add("abc4");
//只要是Collection集合体系,迭代器就是通用取出方式,
/*Iterator it=collection.iterator();//具备迭代功能的迭代器对象,collection容器调用iterator方法返回一个Iterator对象,
while(it.hasNext()){
System.out.println(it.next());
}*/
for(Iterator it=collection.iterator();it.hasNext();){
System.out.println("it.next()"); //开发写这个,
it.next();//就是取出的对象
}
}
}
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
public class CollIterator {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
/*
* Collection集合中对元素的获取方法,
* 集合容器都具备取出方式,取出方式并不是一个方法,因为一个方法不足以完成取出,
* 取出是由多个功能来完成,为了方便使用,
* 就将这些功能封装成对象,该对象在描述,这些功能会直接使用到具体集合中的数据和集合特点,
* 所以这个取出元素的描述类,就定义在了集合的内部,也就是一个内部类,
*
* 因为这个类在直接访问集合中的数据,根据集合自身的数据特点,将具体的方法,都定义完成后,需要将对象对外提供出去,让用户使用,
* 所以就暴漏了一个方法,来完成对内部类的访问,
*
* 为了提高扩展性,发现只要是容器,就具备取出功能,但是数据结构不同,取出的具体实现一样,这时为了扩展,就取出了一个接口,
*/
Collection collection=new ArrayList();
collection.add("abc1");
collection.add("abc2");
collection.add("abc3");
collection.add("abc4");
//只要是Collection集合体系,迭代器就是通用取出方式,
/*Iterator it=collection.iterator();//具备迭代功能的迭代器对象,collection容器调用iterator方法返回一个Iterator对象,
while(it.hasNext()){
System.out.println(it.next());
}*/
for(Iterator it=collection.iterator();it.hasNext();){
System.out.println("it.next()"); //开发写这个,
it.next();//就是取出的对象
}
}
}