# ArrayList ein Objekt löschen



## ChrisHolzner (13. Jun 2015)

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? 


```
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 (13. Jun 2015)

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


```
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


----------



## ChrisHolzner (13. Jun 2015)

Danke ich hab die Methode noch für mich angepasst und java.util.Iterator importiert jetzt passt alles ;D


----------



## strußi (13. Jun 2015)

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 (14. Jun 2015)

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 (16. Jun 2015)

Hallo,

um Groß- und Kleinschreibung zu ignorieren, kannst Du die Methode

```
String compareToIgnoreCase()
```
benutzen. 

Außerdem kannst du jeden String komplett groß oder klein machen:

```
String toUpperCase()
String toLowerCase()
```

Gruß
_wave


----------

