1 package cn.zhou.com; 2 3 import java.util.ArrayList; 4 import java.util.Collection; 5 import java.util.Iterator; 6 7 /* 8 * 一、迭代 是啥? 9 * 10 * 取元素 不管是什么数据结构 用一个共性的方法 一个一个的取。 11 * 取之前,先判断 。有,取一个。没有 ,结束! 12 * 13 * 创建集合对象 14 * 15 * 取出方式! 16 * 17 * 二、细节! 18 * 1.集合中储存的其实都是对象的地址。 19 * 20 * 2.集合中不能储存基本数据类型 21 * coll.add(3);---不会报错 因为在class文件中 生成的是 coll.add(Integer.Valueof(3));【 就是自动装箱!】 22 * 23 * 3.存储时提升了object,取出时使用元素的特有内容,需要使用元素的特有方法时 进行向下转型! 24 * 需要使用元素的特有方法时 进行向下转型! 25 * 26 * 三、获得存储元素的长度!----->子类型的特有方法! 27 * coll.add("asAS");---这里面存储的是对象 需要向下转型 才能获取长度! 28 */ 29 public class 迭代 { 30 public static void main(String[] args) { 31 32 //创建集合对象! 33 Collection coll=new ArrayList(); 34 coll.add("a183");//--------------------------->提升为object 35 coll.add("b123"); 36 coll.add("c123"); 37 coll.add("d123"); 38 39 //获取容器的迭代器对象,通过iterator方法 40 // Iterator it=coll.iterator(); 41 42 //使用具体的迭代器对象获取集合中的元素。调用迭代器的方法!3个 43 /* while(it.hasNext()){ 44 System.out.println(it.next()); 45 }*/ 46 for (Iterator it = coll.iterator(); it.hasNext();) { 47 Object object = it.next(); 48 String str=(String)object; // 都是对象 获取不来长度,向下转型!通过子类实现! 49 System.out.println("元素长度"+str.length()); 50 51 } 52 } 53 }