迭代 Iterable与Iterator

来源:互联网 发布:软件低通滤波算法 编辑:程序博客网 时间:2024/06/06 13:48

Iterable实现这个接口允许对象成为foreach语句的目标
方法:
Iterator iterator:返回一个在一组T类型的元素上进行迭代的迭代器

package com.ls.java8.Iter;import java.util.Iterator;class Student{    String name;    public Student(String name) {    this.name =name;    }}class Clazz implements Iterable<Student>{    Student[] students;    public Clazz(int num) {    students=new Student[num];    }    int index=0;    public void add(Student s) {    students[index]=s;    index++;    }    @Override    public Iterator<Student> iterator() {        return new Iterator<Student>() {            int index=0;            @Override            public boolean hasNext() {                return index!=students.length;            }            @Override            public Student next() {                return students[index++];            }        };    }}public class IterDemo {    public static void main(String[] args) {        Clazz c=new Clazz(3);        Student s1=new Student("s1");        Student s2=new Student("s2");        Student s3=new Student("s3");        c.add(s1);        c.add(s2);        c.add(s3);        for(Student s:c) {            System.out.println(s.name);        }    }}
原创粉丝点击