Gleiche Ordner löschen

Status
Nicht offen für weitere Antworten.
B

Babsi

Gast
HUHU

Ich habe folgendes Problem
Ich habe eine Klasse Ordner in denen ich Ordner mit ihrem Namen und Vater speicher und eine Klasse OrdnerListe in der ich die Ordner in einer ArrayListe speicher. Ich habe jetzt mehrere Ordner mit demselben Namen und Vater. Wie kann ich diese herrausfiltern, also gar nicht erst zur Liste hinzufügen oder im nachhinein löschen, damit ich jeden Ordner nur einmal habe.

meine arraylisten-zuweisung sieht so aus:

Code:
ArrayList<Ordner> ordnerListe = new ArrayList<Ordner>();
	
	public void addOrdner(String ordnerName, String ordnerVater) {
		Ordner neu = new Ordner(ordnerName, ordnerVater);
		ordnerListe.add(neu);
	}
 

Niki

Top Contributor
ganz einfach equals und hashCode Methode überschreiben:

Code:
public class Ordner{

  private String vater = null;

  private String name = null;

  //getter und setter

  public boolean equals(Object o){
    if(!(o instanceof Ordner))
      return false;
    Ordner or = (Ordner)o;
    if(!or.vater.equals(vater) || !or.name.equals(name))
      return false;
    return true;

  }

  public int hashCode(){
    return vater.hashCode() + name.hashCode();
  }


}

Und anstelle einer Liste solltest du ein Set verwenden, da Sets keine doppelten Einträge zulässt.
 
M

maki

Gast
Niki, deine hashcode und equals Methoden würden im Zweifelsfall verbotenerweise eine NPE werfen.

Eclipse kann hashcode und equals generieren, sehr komfortabel ;)
 
B

Babsi

Gast
ich hab gerade gesehen, dass set nur ein Interface ist.
gibt es das nicht schon irgendwie vorgefertigt? :(
 
M

maki

Gast
Das Interface als Referenztyp, die Klasse HashSet als Implementierung.

Bitte beachte das du keines der Attribute welches für den hashcode verwendet wird ändern darfst sobald es in einer "Hash"-Collection ist, sonst findest du es nie wieder :)

Ansonsten wäre es gut wenn du dich mit dem Java Collections Framework auseinandersetzen würdest, sehr wichtig, sehr mächtig und sehr oft benutzt.
 

Niki

Top Contributor
Doch:

HashSet, LinkedHashSet, TreeSet

@maki ich weiß, war aber zu faul auf das auch noch zu überprüfen :)
 
B

Babsi

Gast
Ich benutze einen JTree, kann ich das TreeSet dafür benutzen?
 

Niki

Top Contributor
Es kommt drauf an was du willst. Jedes Set hat seine besonderen Merkmale.
TreeSet ist sortiert
LinkedHashSet merkt sich die Reihenfolge, in der die Elemente hinzugefügt wurden
HashSet hat meines Wissens keine besonderen Eigenschaften. Lies dir einfach die Doku in der Api Doc dazu durch
 
B

Babsi

Gast
Hab jetzt ein HashSet verwendet, aber ich bekomme trotzdem noch doppelte Einträge. :cry:
 

Niki

Top Contributor
Hast du in deiner Klasse Ordner die equals und die hashCode Methode überschrieben, so wie ich es oben erwähnt habe?
 
B

Babsi

Gast
Danke Niki es funktioniert endlich :D

gibt es auch so eine equal-methode die nicht case-sensitive ist also der die groß und kleinschreibung egal ist?
 
B

Babsi

Gast
Vielleicht kannst du mir noch sagen, wie ich das in die Klasse Ordner einbette, aber wenn nicht ist auch nicht schlimm, ein bisschen muss ich ja auch noch selber machen. :lol:

Danke nochmal
 

Niki

Top Contributor
Dort wo der Vergleich in der equals Methode gemacht wird:

Code:
public boolean equals(Object o){
    if(!(o instanceof Ordner))
      return false;
    Ordner or = (Ordner)o;
    if(!or.vater.equalsIgnoreCase(vater) || !or.name.equalsIgnoreCase(name))
      return false;
    return true;

  }
 
B

Babsi

Gast
Das funktioniert so nicht bei mir!?

Aber bin ja schonmal ein ganzes Stückchen weiter :D
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Gleiche Klassen und Methoden in unterschiedlichen Projekten nutzen Java Basics - Anfänger-Themen 2
berserkerdq2 Spiel hängt sich immer in der 4 Runde auf, obwohl ich jede Runde das gleiche mache Java Basics - Anfänger-Themen 1
berserkerdq2 Ist JVM das gleiche wie IJVM (Bytecode) Java Basics - Anfänger-Themen 1
J Kreis soll die gleiche Fläche wie das Rechteck haben wie mache ich das? Java Basics - Anfänger-Themen 3
K Wie String prüfen ob drei mal das gleiche Zeichen vorkommt? Java Basics - Anfänger-Themen 7
W Mehrfach das gleiche Attribut für ein Objekt erzeugen (mit verschiedenen Werten) Java Basics - Anfänger-Themen 2
B Jsoup: gleiche Session nutzen Java Basics - Anfänger-Themen 0
tom.j85 Doppelte Foreach Schleife: Am Ende wird immer das Gleiche Objekt eingefügt Java Basics - Anfänger-Themen 4
X Textdatei: zwei-zeilenweise gleiche Zeilen rausschmeißen Java Basics - Anfänger-Themen 21
CptK Interface Beide Panels zeigen das Gleiche Java Basics - Anfänger-Themen 2
J Gleiche Methode in 2 verschiedenen Klassen - Lösung ? Java Basics - Anfänger-Themen 8
B Prüfen, ob Datum2 der gleiche Tag ist wie Datum1 Java Basics - Anfänger-Themen 10
O Problem gleiche Zahlen Java Basics - Anfänger-Themen 2
F Immer wieder gleiche Zufallszahl? Java Basics - Anfänger-Themen 4
N Array gleiche Datentypen zusammenrechnen Java Basics - Anfänger-Themen 28
T Classpath Zwei gleiche Dateinamen in verschiedenen Projekten möglich? Java Basics - Anfänger-Themen 13
L Gleiche Werte aus Array aussortieren Java Basics - Anfänger-Themen 5
L Gleiche Werte im Array hochzählen Java Basics - Anfänger-Themen 4
J Methoden Zwei Methoden die fast das gleiche tun organisieren Java Basics - Anfänger-Themen 3
L Classpath Zwei Bibliotheken enthalten gleiche .class Datei Java Basics - Anfänger-Themen 6
R Enum ist das gleiche wie? Java Basics - Anfänger-Themen 15
H überprüfen ob in Array gleiche int-Zahlen gespeichert werden. Java Basics - Anfänger-Themen 7
K Das Gleiche wiederholen Java Basics - Anfänger-Themen 5
Y Gleiche Arrays aus einem Array mit Objekten Java Basics - Anfänger-Themen 5
O Klasse in ArrayList speichern Problem -gleiche Speicheradresse Java Basics - Anfänger-Themen 2
M Zwei gleiche Eintraege in ArrayList finden Java Basics - Anfänger-Themen 15
D Javaliste auf gleiche Einträge überprüfen Java Basics - Anfänger-Themen 2
E Input/Output Drucken am Mac immer gleiche Schriftgröße?!? Java Basics - Anfänger-Themen 2
I immer die gleiche Zufallszahl Java Basics - Anfänger-Themen 9
L Eine ArrayList auf gleiche Inhalte prüfen Java Basics - Anfänger-Themen 10
M Erste Schritte Eclipse führt immer das gleiche Programm aus Java Basics - Anfänger-Themen 6
J Objekterzeugung im Konstruktor - Mehrfach gleiche Referenzvariable? Java Basics - Anfänger-Themen 4
A Mehrere Gegner sollen das gleiche Bild benutzen Java Basics - Anfänger-Themen 3
W JButton in gleiche Größe bringen Java Basics - Anfänger-Themen 4
M gleiche Box in GUI mehrmals verwenden Java Basics - Anfänger-Themen 5
A objekt innerhalb der gleiche klasse Java Basics - Anfänger-Themen 10
S Dasselbe ist nicht das gleiche? Java Basics - Anfänger-Themen 7
K Datentypen Gleiche Zufallszahlen in verschiedenen Datenstrukturen Java Basics - Anfänger-Themen 6
G Gleiche Elemente in Feld zählen Java Basics - Anfänger-Themen 13
B 2D-Array, gleiche Einträge prüfen Java Basics - Anfänger-Themen 5
B Random() gleiche Zahlen ausschließen Java Basics - Anfänger-Themen 30
J Datentypen List - gleiche Einträge bei neuen Objekten Java Basics - Anfänger-Themen 31
N Threads: 4 Threads, 4mal Zugriff auf Array soll nicht der gleiche Zugriff sein Java Basics - Anfänger-Themen 4
S OOP Warum gleiche Instanz der Klasse? (Factory-Muster) Java Basics - Anfänger-Themen 13
F Gleiche JUnit-Tests automatisert mit verschiedenen Methoden ausführen Java Basics - Anfänger-Themen 6
O Zweidemensionales Array auf zwei gleiche Zahlen prüfen Java Basics - Anfänger-Themen 15
D Methode in einer anderen Methode (gleiche Klassse) aufrufen Java Basics - Anfänger-Themen 11
G Der Gleiche oder der Selbe? Java Basics - Anfänger-Themen 6
G Zählen gleiche Werte in Array Java Basics - Anfänger-Themen 5
Gama 2 (fast) gleiche Dateien - nur eine funktioniert Java Basics - Anfänger-Themen 2
V Vector/Arraylist hat nur gleiche Einträge Java Basics - Anfänger-Themen 3
G Warum das Prog mehrmals das gleiche macht wegen ItemListener Java Basics - Anfänger-Themen 4
Z Feld prüfen ob 3 gleiche zahlen nach einander vorkommen Java Basics - Anfänger-Themen 3
E Gleiche Methode einer (Kinds?)Klasse erneut aufrufen Java Basics - Anfänger-Themen 2
G gleiche Strings ungleich? Java Basics - Anfänger-Themen 5
K Neue Werte für gleiche Array-Indexe Java Basics - Anfänger-Themen 16
G Gleiche Aktionen verarbeiten (aber nur einmal Code)? Java Basics - Anfänger-Themen 2
M bewirken diese Schreibweisen das gleiche? :) Java Basics - Anfänger-Themen 8
F zugriff auf gleiche klasse aus mehreren klassen. Java Basics - Anfänger-Themen 3
G 2 gleiche Strings Java Basics - Anfänger-Themen 2
Z Vector führt mehrer, aber gleiche Elemente Java Basics - Anfänger-Themen 6
M Wo den Ordner javafx-sdk-21.0.2 unter Linux ablegen? Java Basics - Anfänger-Themen 5
N Textdatei aus Resourcen-Ordner eines Projekts/ jar-file lesen Java Basics - Anfänger-Themen 4
berserkerdq2 Wie gebe ich den Pfad zu einer Datei an, die in einem Ordner in Eclipse ist? Java Basics - Anfänger-Themen 1
E Javamail Gesendet ordner Java Basics - Anfänger-Themen 1
E Outlook ordner auslesen Java Basics - Anfänger-Themen 4
L Ordner in neuen erstellten Ordner erstellen Java Basics - Anfänger-Themen 12
T src Ordner ausführen Java Basics - Anfänger-Themen 9
M Pfadprobleme - Zugriff auf einen Ordner im Workspace Java Basics - Anfänger-Themen 17
B Name von Verzeichnis bekommen - Files von einem Ordner auslesen Java Basics - Anfänger-Themen 4
L Files verschieben in einen Ordner Java Basics - Anfänger-Themen 87
Henri Mehrere Ordner umbenennen Java Basics - Anfänger-Themen 11
J Eclipse Einrichten : Umzug in anderen Ordner Java Basics - Anfänger-Themen 2
N Project layout eclipse ( seperate ordner für klassen ? ) Java Basics - Anfänger-Themen 1
F Ordner auf alle Unterdatein abfragen Java Basics - Anfänger-Themen 3
F Zeile in Ordner Java Basics - Anfänger-Themen 4
J variablePathPart ändern nach dem Ordner abgearbeitet worden ist Java Basics - Anfänger-Themen 1
das_leon Auf Ordner zugreifen (Vollzugriff) Java Basics - Anfänger-Themen 2
MR._FIRE_Flower Ordner im Explorer öffnen lassen Java Basics - Anfänger-Themen 2
C Methoden Dateien im Ordner anzeigen Java Basics - Anfänger-Themen 12
L Ordner Zippen Java Basics - Anfänger-Themen 2
L Ordner zusammenlegen Java Basics - Anfänger-Themen 3
J Java Ordner Erstellung nicht möglich. Java Basics - Anfänger-Themen 3
G Input/Output Aus txt-Datei lesen, aus Ordner Java Basics - Anfänger-Themen 1
M Ordner mit Inhalt löschen Java Basics - Anfänger-Themen 7
M Erste Schritte Ordner im selber Verzeichnis wählen Java Basics - Anfänger-Themen 1
D Input/Output Ordner aus .Jar in das Verzeichnis der .Jar kopieren Java Basics - Anfänger-Themen 1
P Einen Ordner mit Dateien hochladen [FTP] Java Basics - Anfänger-Themen 2
agent47 Input/Output Ordner/Datei Rekutrsiv erstellen und Java Basics - Anfänger-Themen 8
S Prüfen ob bestimmter Ordner geöffnet ist (Windows XP) Java Basics - Anfänger-Themen 5
D Ordner der Ausgeführten Datei erhalten Java Basics - Anfänger-Themen 4
P newbie- Frage zu Ordner-Projektstruktur Java Basics - Anfänger-Themen 3
L Herunterladbares Java Programm in bestimmten Ordner speicher Java Basics - Anfänger-Themen 3
M Input/Output Ordner erstelen? Java Basics - Anfänger-Themen 12
A Ordner zippen Java Basics - Anfänger-Themen 10
T .jar Datei als Ordner benutzen/ Dateien aus .jar Datei auslesen Java Basics - Anfänger-Themen 3
J Ordner unter Windows Verstecken Java Basics - Anfänger-Themen 2
D Ordner auf Desktop erstellen(Pc unabhängig) Java Basics - Anfänger-Themen 3
M Neuen Ordner im Überverzeichnis erstellen, und dadrin arbeiten Java Basics - Anfänger-Themen 4
I Ordner schnell durchlesen Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben