簡単な入れ子構造を扱う #12
SchoolやGradeはLinkedHashMapを利用したコンテナ要素の管理をおこなっている。この機能を取り出す。
school/SetContainer.java
package school; import java.util.Collections; import java.util.Iterator; import java.util.LinkedHashMap; abstract class SetContainer<T> implements Iterable<T> { private LinkedHashMap<String, T> elements = new LinkedHashMap<String, T>(); SetContainer() { } T put(String name, T element) { return elements.put(name, element); } T get(String name) { return elements.get(name); } public Iterator<T> iterator() { return Collections.unmodifiableCollection(elements.values()).iterator(); } }