java中for语句和Iterable

    技术2022-05-18  17

    List list = new ArrayList;

    ...//添加一些元素

    for(String s:list){

          System.out.println(s);

    }

    这是如何实现的?

    在for语句中能这样用的的类必须实现Iterable接口

    下面实现这一功能的例子

     

    package com.iterable; import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class MyList<E> implements Iterable<E>{ List<E> list = new ArrayList<E>(); public void add(E e){ list.add(e); } @Override public Iterator<E> iterator() { return new InnerIterator(); } private class InnerIterator implements Iterator{ int index = 0; @Override public boolean hasNext() { return index<list.size(); } @Override public E next() { E e = list.get(index); index++; return e; } @Override public void remove() { } } }  


    最新回复(0)