ArrayList ein Objekt löschen

ChrisHolzner

Mitglied
Hallo erstmal und Danke für eure Hilfe :)

Von der Schule aus sollten wir ein kleines Projekt machen und ich hab mich dafür entschieden einen DVD-Verleih in Java umzusetzen. Mein Problem hierbei ist, dass ich die Kunden und später die DVDs in einer ArrayList speicher. Die Liste zu erstellen und eine Methode den Kunden bzw. die DVD hinzufügen hab ich bereits geschaft, war auch nicht das Problem. Aber wie kann ich dort wieder einen bestimmten löschen. Also zum Beispiel einen Kunden/DVD, von dem ich den Name eingebe und dann dieser aus meiner Liste gelöscht wird. MIr ist bewusst das es eine remove methode gib, aber für diese brauch ich den Index soweit ich weiß und den index kann ich ja nur rausfinden wenn ich den namen des objekts kenne. Leider haben meine Objekte alle den selben namen und unterscheiden sich nur in den Variablen wie kann ich also den index herausfinden wenn ich nur den Vornamen meines kunden kenne?

Java:
 import java.util.ArrayList;
public class KUNDENBAUM
{
    private ArrayList <KUNDE> kundenliste = new ArrayList <KUNDE>();
    private int kundenanzahl;
    public KUNDENBAUM()
    {}
    
    public void neuerKunde(String nn,String vn,String pw) // Nachname,Vorname,Passwort
    {
        KUNDE k = new KUNDE( nn, vn, pw );
        kundenliste.add(k);
    }
    public void Kundenloeschen(){ 
   }
}
 

Duardo

Mitglied
Du könntest es mit diesem Code-Schnipsel versuchen:

Code:
 Iterator<User> it = list.iterator();
while (it.hasNext()) {
  User user = it.next();
  if (user.getName().equals("John Doe")) {
    it.remove();
  }
}

Durch den Iterator kannst du deine Liste durchforsten solange sie gefüllt ist (1 + 2 Zeile). Dann kannst du eine Abfrage starten ob das Objekt dem Namen entspricht und es dementsprechend löschen.
Quelle : java - Remove object from ArrayList - Stack Overflow
 

strußi

Top Contributor
ich setzte da gerne noch eine idNr., sonst hast du bei mehreren gleichnamigen Personen das Problem, dass du alle, die gleich heißen verliehrst, wenn du nach vor und nachnamen suchst

grüße
 

ChrisHolzner

Mitglied
So ich bin nun etwas weiter soweit klappt auch alles ich habe nur ein Problem. Kann ich irgendwo ändern das er mir die Usernamen sortiert,aber Groß- und Kleinschreibung nicht unterscheidet? Ansonsten funktioniert die Sortierung.

[Java] public class KUNDE extends DATENELEMENT implements Comparable<KUNDE> {

public String getName(){
return username;
}

public int compareTo(KUNDE username){
return this.username.compareTo(username.getName());
}


------------------------------------------------
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Collections;
public class KUNDENBAUM
{
private ArrayList <KUNDE> kundenliste = new ArrayList <KUNDE>();


public KUNDENBAUM()
{
}
public void neuerKunde(String nn,String vn,String pw, String user)
{
KUNDE k = new KUNDE( nn, vn, pw, user );
kundenliste.add(k); //fügt kunde hinzu
}
public void sortieren(){
Collections.sort(kundenliste);

}
}
[/code]
 

_wave

Neues Mitglied
Hallo,

um Groß- und Kleinschreibung zu ignorieren, kannst Du die Methode
Java:
String compareToIgnoreCase()
benutzen.

Außerdem kannst du jeden String komplett groß oder klein machen:
Java:
String toUpperCase()
String toLowerCase()

Gruß
_wave
 


Schreibe deine Antwort... und nutze den </> Button, wenn du Code posten möchtest...

Neue Themen


Oben