Wanderdüne Geschrieben 15. Juli 2008 Geschrieben 15. Juli 2008 Hallo Leute, das ist mein erster Post hier im Forum und schon hab ich eine Frage :confused: Ich bin Momentan dabei den Umgang mit Collections zu üben und bin dabei auf ein Problem gestoßen. Zwar kann ich mit der Methode .add() Objekte einer Collection hinzufügen aber irgendwie kann ich sie nicht auf einfache Weise wieder abrufen. public class ProjektListe { private Collection<ProjektDO> projekte = new ArrayList<ProjektDO>(); public void hinzufügen() { projekte.add(new ProjektDO()); } public void abrufen() { ProjektDO projekt1; projekt1 = projekte.get(0); // [B]Fehler: The method get(int) is undefined for the type Collection<ProjektDO>[/B] } } Dieser Codeschnipsel ist jetzt nur ein Beispiel. Ich benutze zum lernen das Buch "Java ist auch eine Insel" und dort wird das Objekt in der ArrayList so abgefragt (siehe 11.1.4 Generische Datentypen in der Collection-API). Jedoch scheint es die Methode .get() garnicht zu geben und die einzige Möglichkeit die ich bis jetzt gefunden habe ist, die Liste mit einem Iterator zu durchlaufen. Gibt es irgendeine Möglichkeit direkt auf ein Listenobjekt über einen Indexwert zuzugreifen? Gruß, Wanderdüne Zitieren
Dragon8 Geschrieben 15. Juli 2008 Geschrieben 15. Juli 2008 Auf einem List-Objekt gibt es die Methode get(int) um über einen Indexwert ein Element aus der Liste zu holen. Jedoch ist dein Objekt nicht vom Typ List<E> sondern vom Typ Collection<E>. Dieses Interface bietet nur die Möglichkeit über den Iterator. Zitieren
Wanderdüne Geschrieben 15. Juli 2008 Autor Geschrieben 15. Juli 2008 Danke für deine Hilfe, ich hatte garnicht gemerkt, das ich das falsche Interface implementiert hatte. Ich arbeite zur Zeit im Betrieb mit Collections und daher ist mir nicht aufgefallen, dass ich eine List benötige :upps Ich werd das gleich mal mit der List ausprobieren Gruß, Wanderdüne Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.