Veröffentlicht 15. Juli 200817 j 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
15. Juli 200817 j 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.
15. Juli 200817 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.