Abstrakter Datentyp: Schnittstelle (ohne Implementierung), beschreibt Operationen und zugesicherte Eigenschaften
interface Set extends Collection { boolean isEmpty (); void add (Object o); void remove (Object o); boolean contains (Object o); }Eigenschaften: z. B.
nach s.add (o) gilt s.isEmpty() == false. wenn s.add (o), dann danach s.contains(o) == true
konkreter Datentyp (Klasse) beschreibt Implementierung:
class TreeSet implements Set { ... }
Abstrakte und konkrete Datentypen im Java Collections Framework:
alt: http://java.sun.com/j2se/1.4.2/docs/guide/collections/index.html,
neu: http://java.sun.com/j2se/1.5.0/docs/guide/collections/index.html