B:画图演示
把学生数组的案例画图讲解数组和集合存储引用数据类型,存的都是地址值B:注意:
collectionXxx.java使用了未经检查或不安全的操作. 注意:要了解详细信息,请使用 -Xlint:unchecked重新编译. java编译器认为该程序存在安全隐患 温馨提示:这不是编译失败,所以先不用理会,等学了泛型你就知道了B:案例演示
把集合转成数组,可以实现集合的遍历toArray() *
Collection coll = new ArrayList();coll.add(new Student("张三",23)); //Object obj = new Student("张三",23);coll.add(new Student("李四",24));coll.add(new Student("王五",25));coll.add(new Student("赵六",26));Object[] arr = coll.toArray(); //将集合转换成数组for (int i = 0; i < arr.length; i++) { Student s = (Student)arr[i]; //强转成Student System.out.println(s.getName() + "," + s.getAge());}B:案例演示
迭代器的使用
Collection c = new ArrayList();c.add("a");c.add("b");c.add("c");c.add("d");Iterator it = c.iterator(); //获取迭代器的引用while(it.hasNext()) { //集合中的迭代方法(遍历) System.out.println(it.next());}A:案例演示
Collection存储自定义对象并用迭代器遍历Collection c = new ArrayList();c.add(new Student("张三",23));c.add(new Student("李四",24));c.add(new Student("王五",25));c.add(new Student("赵六",26));c.add(new Student("赵六",26));for(Iterator it = c.iterator();it.hasNext();) { Student s = (Student)it.next(); //向下转型 System.out.println(s.getName() + "," + s.getAge()); //获取对象中的姓名和年龄}System.out.println("------------------------------");Iterator it = c.iterator(); //获取迭代器while(it.hasNext()) { //判断集合中是否有元素 //System.out.println(((Student)(it.next())).getName() + "," + ((Student)(it.next())).getAge()); Student s = (Student)it.next(); //向下转型 System.out.println(s.getName() + "," + s.getAge()); //获取对象中的姓名和年龄}A:案例演示
通过size()和get()方法结合使用遍历。
List list = new ArrayList();list.add(new Student("张三", 18));list.add(new Student("李四", 18));list.add(new Student("王五", 18));list.add(new Student("赵六", 18));for(int i = 0; i < list.size(); i++) { Student s = (Student)list.get(i); System.out.println(s.getName() + "," + s.getAge());}A:案例演示
需求:我有一个集合,请问,我想判断里面有没有”world”这个元素,如果有,我就添加一个”javaee”元素,请写代码实现。
List list = new ArrayList();list.add("a");list.add("b");list.add("world");list.add("d");list.add("e");/*Iterator it = list.iterator();while(it.hasNext()) { String str = (String)it.next(); if(str.equals("world")) { list.add("javaee"); //这里会抛出ConcurrentModificationException并发修改异常 }}*/B:ConcurrentModificationException出现
迭代器遍历,集合修改集合C:解决方案
a:迭代器迭代元素,迭代器修改元素(ListIterator的特有功能add)b:集合遍历元素,集合修改元素
ListIterator lit = list.listIterator(); //如果想在遍历的过程中添加元素,可以用ListIterator中的add方法while(lit.hasNext()) { String str = (String)lit.next(); if(str.equals("world")) { lit.add("javaee"); //list.add("javaee"); }}C:案例演示
Vector的迭代
Vector v = new Vector(); //创建集合对象,List的子类v.addElement("a");v.addElement("b");v.addElement("c");v.addElement("d");//Vector迭代Enumeration en = v.elements(); //获取枚举while(en.hasMoreElements()) { //判断集合中是否有元素 System.out.println(en.nextElement());//获取集合中的元素}把今天的知识点总结一遍。
新闻热点
疑难解答