java-集合框架3-迭代器的使用
package cn.burce.iterator; import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; /* * 集合中的迭代器 获取集合中的元素 * 接口Iterator:两个抽象方法 * Boolean hasNext()判断集合中还有没有可以取出的元素,如果有返还True * next()取出集合的下一个元素 * Iterator接口,需要实现类 * Collection接口定义方法Iterator Iterator() * ArrayList 重写Iterator(),返回了Iterator接口实现类的对象 * 使用ArrayList集合的对象 * Iterator it = array.iterator(),运行结果就是Iterator接口实现类的对象 * it是接口的实现类对象,调用方法hasNext()和next()集合元素迭代 */ public class IteratorLearn { public static void main(String[] args) { Collection<String> c = new ArrayList<String>(); c.add("小明"); c.add("小军"); c.add("小和"); c.add("小啊"); c.add("123"); // 迭代器对集合ArrayList中的元素取出 // 调用集合的方法iterator()获取出,Iterator接口的是实现类对象 Iterator<String> it = c.iterator(); // 接口实现类对象,调用方法hasNext()判断集合中是否有元素 // 并用next()取出元素 while (it.hasNext()) { System.out.println(it.next()); } System.out.println("--------------------------"); for (Iterator<String> it1 = c.iterator(); it1.hasNext();) { System.out.println(it1.next()); } System.out.println("-----------------------------"); // 集合可以存储任何类型的对象 // 集合中不指定数据类型,那就表示什么都可以存储 Collection c1 = new ArrayList(); c1.add("我"); c1.add("wwwwww"); // 迭代器获取 Iterator it2 = c1.iterator(); while (it2.hasNext()) { System.out.println(it2.next());// 打印的这个是Object类型 String s = (String) it2.next();// 取长度需要向下转型 System.out.println(s.length());// 尽量加数据类型 } } }