如果我有一個類如何在forEach循環中使類可執行?
public class Op {
public Map<String, String> ops;
}
我怎樣才能使它在執行forEach循環?
for (String key : op) {
System.out.println(op.ops.get(key))
}
UPD
這裏是我的解決方案
Op op = new Op(new HashMap<String, String>() {{
put("a", "1");
put("b", "2");
put("c", "3");
}});
for (String key : op) System.out.println(op.map.get(key));
class Op implements Iterable<String> {
Map<String, String> map;
public Op(Map<String, String> map) {
this.map = map;
}
public Iterator<String> iterator() {
return map.keySet().iterator();
}
}
但我不知道的詳細程度。它是否太冗長?也許有一個簡明的方法來實現它?
http://tutorials.jenkov.com/java-generics/implementing-iterable.html – buxter
是。這是一個很好的例子。但是我不需要編寫一個單獨的Iterator類。我需要儘可能簡潔的代碼,只需最少量的代碼。 – barbara