读书人

Java For-each Loop amp; Iterable | 增

发布时间: 2012-12-18 12:43:41 作者: rapoo

Java For-each Loop & Iterable | 增强型For循环和Iterable接口

增强型For循环没什么好说的,Just see links:
http://www.leepoint.net/notes-java/flow/loops/foreach.html
http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html

本篇唯一想说的是,如何在自定义的数据结构或说对象容器上使用增强型For循环?答案是让自定义的数据结构实现Iterable<T>接口。

import java.util.ArrayList;import java.util.Iterator;import java.util.List;public class IterableTest {public static void main(String[] args) {MyList myList = new MyList();myList.getEntries().add(new MyList.Entry(1,"zhang"));myList.getEntries().add(new MyList.Entry(2,"liu"));for (MyList.Entry entry : myList) {System.out.println(entry.getId() + " : " + entry.getName());}}}class MyList implements Iterable<MyList.Entry> {private List<Entry> entries = new ArrayList<Entry>();    public static class Entry {        private int id;        private String name;                public Entry(int id, String name) {        this.id = id;        this.name = name;        }public int getId() {return id;}public String getName() {return name;}    }        @Overridepublic Iterator<Entry> iterator() {    return entries.iterator();}public List<Entry> getEntries() {return entries;}}

读书人网 >编程

热点推荐