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

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

本篇唯一想说的是,如何在自定义的数据结构或说对象容器上使用增强型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;
}
}

@Override
public Iterator<Entry> iterator() {
return entries.iterator();
}

public List<Entry> getEntries() {
return entries;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值