Du könntest vielleicht über das Array iterieren und mithilfe von Abfragen über die Eigenschaften des Objekts herausfinden, wo es steht, aber eigentlich ist so ein Fall wie der von dir eher ungewöhnlich.
Kannst du etwas Code zeigen? Vielleicht steckt irgendwo ein Denk-/Designfehler drin.
privatevoidshowObjekte(){String s;Iterator<Artikel>iter =ArtikelListe.iterator();while(iter.hasNext()){Artikel i = iter.next();System.out.print((i.getAttribut1());//könnte zB eine Artikelnr. seinSystem.out.print((i.getAttribut2());//könnte ein Preis seinSystem.out.print((i.getAttribut3());}}
Mittels dieser Methode werden die Attribute der im Array abgelegten Objekte in eine "Tabelle" geschrieben. In diese Methode/Tabelle Müsste dann noch dass Attribut Objektposition im Array.
Ablauf:
Nun benötige ich eine Methode, mit der ich die Attribute der Objekte ändern bzw. das ganze objekt löschen kann.
Beispiel:
Ich gebe die Artikelnr. ein, und kann danach beim Objekt mit dieser Artikelnummer den Preis ändern.
Oder: Ich gebe Artikelnr. ein, Objekt wird komplett gelöscht.
Du könntest in deine Schleife eine Abfrage einbauen wie diese:
Java:
if(i.getAttribut1()==93457){//wenn getAttribut1() die Art.-Nr. holt und 93457 die Art.-Nr. des Artikels ist, den du weghaben willst
iter.remove();//Removes from the underlying collection the last element returned by the iterator (optional operation). (aus: java.util.Iterator)}
Das löscht allerdings nicht (!) das Objekt, nur die Referenz darauf. D.h., sollte irgendwo noch eine Referenz auf das Objekt existieren, wird der Garbage Collector es nicht einsammeln können.
Funktioniert das ganze denn wirklich so?
Also was ich meine:
Ist es bei deiner Version nicht so, dass er lediglich prüft, ob die eingegebene Nummer gleich der des Objekts an der aktuellen position ist?
Weil ich möchte ja, nachdem ich mir die Tabelle habe anzeigen lassen, die Liste ändern nach dem Gedanken:
"Hmm, der Artikel mit der Nummer 911 gefällt mir nicht. Da ändere ich mal den Preis."
War doch auch nur ein Beispiel von mir, letztlich kannst du es doch designen, wie du willst. Wenn du den Artikel mit Artikelnr. 911 durch die if-Abfrage in der Schleife gefunden hast, ist es dir doch freigestellt, eine (selbstgeschriebene) Methode wie setPreis() aufzurufen, die das macht, was du willst.