西部数码网站备案,市场调研报告总结,免费咨询劳动仲裁,电子商务网站建设成本这些是下面的代码中所涉及到的所有方法#xff1a;* 迭代概述:* 集合是用来存储元素#xff0c;存储的元素需要查看#xff0c;那么就需要迭代(遍历)* 也就是说#xff0c;迭代就是遍历* * public interface IteratorE 对 collection 进行迭代的迭代器* …这些是下面的代码中所涉及到的所有方法* 迭代概述:* 集合是用来存储元素存储的元素需要查看那么就需要迭代(遍历)* 也就是说迭代就是遍历* * public interface IteratorE 对 collection 进行迭代的迭代器* IteratorE iterator()返回在此 collection 的元素上进行迭代的迭代器* java.util 接口 IteratorE* * boolean hasNext()如果仍有元素可以迭代则返回 true* * E next()返回迭代的下一个元素* * void remove() 从迭代器指向的 collection 中移除迭代器返回的最后一个元素可选操作
package com.wsq.bean;
//创建一个自定义Student类
public class Student {private String name;private int age;public Student() {super();}public Student(String name, int age) {super();this.name name;this.age age;}public String getName() {return name;}public void setNaem(String name) {this.name name;}public int getAge() {return age;}public void setAge(int age) {this.age age;}Overridepublic String toString() { //这里得重写toString方法return Student [naem name , age age ];}}package com.wsq.collection;import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import com.wsq.bean.Student;
public class Demo5_Iterator {public static void main(String[] args) {demo1(); //迭代已经提供好的String类对象demo2(); //迭代一个自定义对象自己创建类然后创建对象存储集合里然后迭代 }private static void demo2() {Collection c new ArrayList(); //创建集合cc.add(new Student(张三,23)); //向集合c里面添加Student类对象即new Student(张三,23)c.add(new Student(李四,24)); //object obj new Student(李四,24); 父类引用指向子类对象c.add(new Student(王五,25)); //由于多态的弊端导致obj不能调用子类特有的属性和行为c.add(new Student(赵六,26));Iterator it c.iterator(); //获取迭代器迭代的时候获取到的都是Object类型while(it.hasNext()){ //boolean hasNext()如果仍有元素可以迭代则返回 true进行循环判断集合是否还含有元素//System.out.println(it.hasNext()); //调用它的toString方法Student s (Student)it.next(); //向下转型由Object类向下转型成为Student类//当把Student对象给添加进来的时候会进行一个类型的提升Student对象变成了Object类System.out.println(s.getName() ... s.getAge()); //通过s就可以调用它的getName和getAge方法}
}public static void demo1(){ //迭代已经提供好的String类对象Collection c new ArrayList(); //创建集合cc.add(a); //向集合c添加元素c.add(b);c.add(c);c.add(d);//对集合中的元素迭代(遍历)Iterator it c.iterator(); //获取迭代器获取迭代器之后就可以使用迭代器里面的方法/*boolean b1 it.hasNext(); //判断集合中是否有元素有就返回trueObject obj1 it.next(); //E next()返回迭代的下一个元素通过next方法将那个元素给获取出来System.out.println(b1); //很显然集合c中有4个元素abcd所以输出结果为trueSystem.out.println(obj1); //返回下一个元素就是第一个元素所以输出结果为 aboolean b2 it.hasNext(); //判断集合中是否有元素有就返回trueObject obj2 it.next(); //E next()返回迭代的下一个元素通过next方法将那个元素给获取出来System.out.println(b2); //很显然集合c中有4个元素abcd所以输出结果为trueSystem.out.println(obj2); //返回下一个元素这里就成为了第二个元素所以输出结果为 b//通过这两次的输出可以得出next方法可以将指针向后移动一位第一次获取的是a然后又调用了一次next第二次获取了b...//这样写太磨叽了这里有4个元素代码得重复4次如果100个元素那么这样写代码会特别的磨叽*/while(it.hasNext()){ //boolean hasNext()如果仍有元素可以迭代则返回 true进行循环判断集合是否还含有元素//通过while循环利用hasNext这个方法来判断是否有元素System.out.println(it.next()); //有元素的话调用next方法调用一次指针就会向后移动一次然后输出该元素即可//E next()返回迭代的下一个元素通过next方法将那个元素给获取出来}}
}