Zum Inhalt springen

ArrayList objekte löschen


Empfohlene Beiträge

Geschrieben

Moin,

ich habe wieder eine Frage. Ich habe eine größere Aufgabe, darunter soll ich mit einer Methode in meiner Liste objekte anhand der Kundennummer löeschen. Heißt ich Soll den Kunden löschen die dazu bestehenden Konten und wenn kein Kunde zur Kundennummer gehört eine Fehlermeldung geben. Könnt ihr mir villeicht paar tipps geben?:new

Hier mein anfang:


/*  public void loescheKunde(long kundennummer)

    {

        for(int i = 0; i < kunden.size(); i++)

        {

            if(kunden.get(i).getKundenNummer == kundennummer)

            {

                kunden.remove();

            }

            else

            {

                System.out.println("Keinen Kunden unter der Kundennummer: " + kundennummer+ " gefunden!");

            }

        }

    } */

Ich habe mir schonmal remove hingeschrieben da ich schon mir denken kann das ich dass brauche-

Geschrieben

Ich gehe mal davon aus, bei deiner Liste handelt es sich um eine ArrayList.

Dann bist du mit der Methode remove() schonmal auf dem richtigen Weg. Wenn du nun noch einen kleinen Blick in die Java Dokumentation geworfen hättest, wäre dir dort aufgefallen, dass du der Methode einen Index für das zu löschende Element übergeben musst.

PS: Hast du das nun nur flasch kopiert, oder ist getKundenNummer in deinem Kunden Objekt ein Attribut und keine Methode?

Geschrieben

ja eine arraylist, KundenNummer ist ein Attribut...... gesetzt mit getter und setter ich habe ja mehrere klassen, aber dann weis ich das ich schonmal auf einem richtigen weg bin... Danke ich habe nämlich vergessen das meine konten in einer anderen liste sind die ich noch zusätzlich durchlaufen muss bzw. hinzufügen. :floet: Da habe ich zu voreilige gefragt.

Gast runtimeterror
Geschrieben

Falls das zur Debatte steht: Für deinen Anwendungsfall wäre ein Set (Menge) deutlich besser geeignet. Dies erlaubt keine Dubletten und hat bessere Laufzeiten bei Löschoperationen (und viele andere nützliche Dinge).

Set<Long> kunden = new HashSet<>();

public void loescheKunde(long kundennummer) {
if (!kunden.remove(kundennummer)) {
System.out.println("Keinen Kunden unter der Kundennummer: " + kundennummer + " gefunden!");
}
}[/PHP]

Gast runtimeterror
Geschrieben

Noch was: du solltest beim Löschen von Elementen einer List immer rückwärts durchzählen. Teste dein Programm mal mit folgender Liste:

{ 1, 2, 3, 3, 3, 4, 5, 6 }

und versuche mal die Kundennummer 3 zu löschen :)

Man kann die Liste auch vorwärts durchlaufen, das ist aber unnötig komplizierter.

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...