Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

ArrayList objekte löschen

Empfohlene Antworten

Veröffentlicht

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-

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?

  • Autor

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.

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]

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.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.