foreach与Iterable学习
以前对于foreach的使用都是自然而然的感觉,没有深究过为什么可以用,什么时候可以用。最近才发现,原来那些可以使用的类,都是实现了Iterable接口的,否则根本就不能用。
下面是我之前学习时候写的代码
package com.test.basic; import java.util.Iterator; public class MyMap implements Iterable<Integer>{ private int count; public MyMap(int i) { this.count=i; } public Iterator<Integer> iterator() { return new Iterator<Integer>() { public Integer next() { count --; return count; } public boolean hasNext() { // TODO Auto-generated method stub return count > 0; } }; } public static void main(String[] args) { for (int i : new MyMap(10)) { System.out.println(i + " "); } } }