05.08.2013 Aufrufe

Cornelia Heinisch, Frank Müller-Hofmann, Joachim Goll ... - HSR-Wiki

Cornelia Heinisch, Frank Müller-Hofmann, Joachim Goll ... - HSR-Wiki

Cornelia Heinisch, Frank Müller-Hofmann, Joachim Goll ... - HSR-Wiki

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

674 Kapitel 18<br />

• public boolean remove (E ref)<br />

Entfernen der Referenz ref vom Typ E aus der Collection.<br />

• public int size()<br />

Liefert die Anzahl der in der Collection enthaltenen Referenzen zurück.<br />

• public boolean isEmpty()<br />

Liefert true zurück, wenn in der Collection keine Referenz hinterlegt ist, sonst<br />

false.<br />

• public void clear()<br />

Entfernt alle Referenzen aus der Collection.<br />

• public boolean contains (E ref)<br />

Liefert true zurück, wenn die Collection eine Referenz enthält, die auf dasselbe<br />

Objekt zeigt, wie die übergebene Referenz ref vom Typ E.<br />

• public E[] toArray()<br />

Liefert ein Array zurück, das alle in der Collection gespeicherten Referenzen vom<br />

Typ E enthält.<br />

Die Übergabeparameter der Methoden add() und remove() waren bis zum JDK<br />

1.4 vom Typ Object. Damit konnte ihnen eine Referenz auf ein beliebiges Objekt<br />

übergeben werden. Oftmals will man aber nur Objekte eines bestimmten Typs verwalten.<br />

In diesem Fall kann der Typparameter E verwendet werden, um den Elementtyp<br />

der Collection bei der Instantiierung an eine bestimmte Klasse wie z.B. die<br />

Klasse String zu binden, wie das folgende Beispiel zeigt:<br />

Collection coll = new ArrayList();<br />

Gibt man keinen Typ an, wird zur Kompatibilität wie bisher die Klasse Object<br />

verwendet (dies entspricht der Schreibweise Collection). Allerdings<br />

generiert der Compiler in diesem Fall bei der Übersetzung die Warnung<br />

Note: .java uses unchecked or unsafe operations.<br />

Note: Recompile with -Xlint:unchecked for details.<br />

da er nun keine Prüfungen mehr einfügen kann und der Programmierer beim<br />

Einfügen selbst auf Konsistenz achten muss und beim Entfernen cast-Operationen<br />

verwenden muss, die zu einer ClassCaseException führen können.<br />

Dank Autoboxing kann man übrigens auch primitive Datentypen sehr einfach in<br />

Collections speichern, z.B.:<br />

Collection c = new ArrayList();<br />

c.add (5); // wird automatisch eingepackt<br />

// ...<br />

int i = c.get (0) // wird automatisch ausgepackt<br />

Dadurch sind die Collections seit JDK 5.0 auch in der Handhabung mindestens so<br />

gut wie Arrays und bieten dabei die gewohnte Flexibilität und Leistungsfähigkeit.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!