import java.util.*; public class LinkedList { // Päätason rajapinta. Runko jätetty tästä pois... public interface Linkable { ... } // Listan alkusolmu. /* private */ Linkable head; // Metodien rungot jätetty pois. public void addToHead(Linkable node) { ... } public Linkable removeHead() { ... } // Tässä metodissa luodaan ja siitä palautetaan Enumeration-olio, // jolla voi käydä tämän listan läpi. public Enumeration enumerate() { // Tässä on Enumerator-luokan määrittely paikallisena luokkana. class Enumerator implements Enumeration { Linkable current; public Enumerator() { this.current = LinkedList.this.head; } public boolean hasMoreElements() { return (current != null); } public Object nextElement() { if (current == null) throw new NoSuchElementException("LinkedList"); Object value = current; current = current.getNext(); return value; } } // Luodaan ja palautetaan edellä määritellyn Enumerator-luokan tyyppinen // olio. return new Enumerator(); } }