Best Practice Elemente aus ArrayList entfernen (performant)

ronin77

Mitglied
Hallo,

ich habe eine ArrayList mit einer großen Anzahl von Objekten (Kunde).

List<Kunde> kd;

Kunde
--> Name <String>
--> Kundennummer
--> ...

Nun habe ich eine weitere Liste mit Namen vom Typ String.

List<String> kd_name;

Ich möchte nun möglichst performant alle Objekte aus der Kundenliste entfernen, bei denen der Kundenname nicht in der Liste mit den Namen enthalten ist.

Vielen Dank für eure Hilfe / Ratschläge
 

geqoo

Bekanntes Mitglied
Wie viele Kunden-Objekte sind es denn ungefähr?

Ich schätze du musst dir eine Schleife über die kd_name Liste bauen, die aus der Liste kd alle Einträge entfernt.
 

Ruzmanz

Top Contributor
- Du packst jedes Element aus "kd_name" in eine HashSet
- Dann gehst du über jedes Element (mit z.B. dem Iterator) in "kd" und schaust, ob der Name in deiner HashSet ist:
-> Es werden vorrausichtlich wenig Daten gelöscht: Kunden aus der Liste entfernen.
-> Es werden vorrausichtlich viele Daten gelöscht: Lege eine neue Liste an und übernehme die Treffer.

PS: Sofern Libraries in Frage kommen. Guava -> removeIf
 
Zuletzt bearbeitet:

Ruzmanz

Top Contributor
Java:
		//  - Du packst jedes Element aus "kd_name" in eine HashSet
		HashSet<String> hashSetNamen = new HashSet<>();
		for(String name: listNamen) {
			hashSetNamen.add(name);
		}

		//  - Dann gehst du über jedes Element (mit z.B. dem Iterator) in "kd" und schaust, ob der Name in deiner HashSet ist:
		Iterator<Kunde> itKunden = listKunden.iterator();
		while(itKunden.hasNext()) {
 			// Es werden vorrausichtlich wenig Daten gelöscht: Kunden aus der Liste entfernen.
			if(hashSetNamen.contains(itKunden.next().getName())) {
				itKunden.remove();
			}
		}
 
Zuletzt bearbeitet:

Ruzmanz

Top Contributor
Java:
            //  - Du packst jedes Element aus "kd_name" in eine HashSet
            HashSet<String> hashSetNamen = new HashSet<>();
            for(String name: listNamen) {
                hashSetNamen.add(name);
            }
     
            //  - Dann gehst du über jedes Element (mit z.B. dem Iterator) in "kd" und schaust, ob der Name in deiner HashSet ist:
            List<Kunde> temp = new ArrayList<>();
            Iterator<Kunde> itKunden = listKunden.iterator();
            while(itKunden.hasNext()) {
                // Es werden vorrausichtlich wenig Daten gelöscht: Kunden aus der Liste entfernen.
                Kunde kunde = itKunden.next();
                if(hashSetNamen.contains(kunde.getName())) {
                    temp.add(kunde);
                }
            }
            listKunden = temp;
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Redundante Elemente aus ArrayList entfernen Java Basics - Anfänger-Themen 3
T Elemente aus einem ArrayList entfernen Java Basics - Anfänger-Themen 12
M ArrayList<TreeNode<T>> fortlaufende Nummerierung der Elemente Java Basics - Anfänger-Themen 5
L ArrayList auf 4 Elemente begrenzen Java Basics - Anfänger-Themen 56
W ArrayList löscht alle Elemente bis auf eines Java Basics - Anfänger-Themen 2
M Elemente in einer ArrayList einander zuordnen. Java Basics - Anfänger-Themen 18
D Klassen Doppelt so viele Elemente in Arraylist ? Java Basics - Anfänger-Themen 4
gamebreiti Gui menu ArrayList Elemente wiedererkennen Java Basics - Anfänger-Themen 3
V wie kann ich in zweidimensionaller Arraylist auf die einzelnen Elemente zugreifen ? Java Basics - Anfänger-Themen 7
C ArrayList - überschreibt Elemente Java Basics - Anfänger-Themen 7
E Elemente einer (öffentlichen) ArrayList in einer anderen Klasse zu einer ArrayList dazu fügen. Java Basics - Anfänger-Themen 7
L ArrayList Elemente verknüpfen Java Basics - Anfänger-Themen 2
S Auf ArrayList Elemente zugreifen Java Basics - Anfänger-Themen 5
N ArrayList wird immer um zwei Elemente erweitert Java Basics - Anfänger-Themen 9
S Bestimmte Elemente einer ArrayList löschen Java Basics - Anfänger-Themen 3
C ArrayList: Elemente addieren Java Basics - Anfänger-Themen 3
J arraylist ausserhalb der main Methode zugänglich machen (Elemente adden und updaten) Java Basics - Anfänger-Themen 4
E Elemente in Arraylist spiegeln? Java Basics - Anfänger-Themen 9
R Anzahl gleicher Elemente in ArrayList Java Basics - Anfänger-Themen 5
G Häufigkeit der Elemente in einer ArrayList zählen Java Basics - Anfänger-Themen 2
G Elemente in einer ArrayList anhand ID löschen Java Basics - Anfänger-Themen 17
K Kombinationen der Elemente einer ArrayList Java Basics - Anfänger-Themen 4
N Ich kriege ganze zeit die Fehlermeldung "Inhalt der Zwischenablage kann nicht in die ausgewählten Elemente eingefügt werden" hat jemand eine Lösung? Java Basics - Anfänger-Themen 6
E Elemente aus Liste entfernen und hinzufügen Java Basics - Anfänger-Themen 3
J 2 listen vergleichen, die auch null Elemente haben können ! Java Basics - Anfänger-Themen 9
B bei 2 Arrays Anzahl gleicher Elemente vergleichen? Java Basics - Anfänger-Themen 49
frager2345 Aufgabe Hash Objekt Elemente ausgeben Java Basics - Anfänger-Themen 2
A Elemente in einem Array Java Basics - Anfänger-Themen 5
J Methoden Die Reihenfolge der Iterator-Elemente umkehren Java Basics - Anfänger-Themen 3
Cassy3 Binäre Bäume Rekursiv durchlaufen und bestimmte Elemente Zählen Java Basics - Anfänger-Themen 6
B Verkettete Liste durchgehen und einzelne Elemente in neue Liste tun Java Basics - Anfänger-Themen 9
D Array Elemente sortieren in aufsteigender Reihenfolge Java Basics - Anfänger-Themen 10
Bademeister007 Elemente aus zwei verschiedenen Arrays miteinander vergleichen und gegeben falls entfernen Java Basics - Anfänger-Themen 14
T SCC Elemente Java Basics - Anfänger-Themen 0
H Array Elemente Java Basics - Anfänger-Themen 17
T Elemente aus Array zu TableView JavaFX übertragen Java Basics - Anfänger-Themen 2
J Array Elemente werden nicht gefunden! Java Basics - Anfänger-Themen 6
GAZ String replace() Elemente tauschen Java Basics - Anfänger-Themen 13
J Array; Elemente kopieren Java Basics - Anfänger-Themen 17
V Array aus Klasse um vererbte Elemente erweitern Java Basics - Anfänger-Themen 3
S Laufzeit Quicksort wenn alle Elemente gleich sind Java Basics - Anfänger-Themen 4
A Array Elemente extrahieren ! Java Basics - Anfänger-Themen 4
J Elemente in einem 2D-Array summieren Java Basics - Anfänger-Themen 6
Kirby.exe Anzahl vorkommender Elemente im Array zählen Java Basics - Anfänger-Themen 9
M Matrix auf 4 Elemente untersuchen mit offenen Enden Java Basics - Anfänger-Themen 8
M Matrix Elemente vergleichen Java Basics - Anfänger-Themen 11
S Elemente eines Arrays bei Ausgabe auslassen Java Basics - Anfänger-Themen 2
I Alle Elemente von zwei Listen vergleichen Java Basics - Anfänger-Themen 1
L String zerlegen & elemente hinzufügen Java Basics - Anfänger-Themen 5
L Anzahl der Elemente key in einem Array mit log(N) Laufzeit Java Basics - Anfänger-Themen 4
L Erste Schritte Elemente zwei Schlangen vergleichen Java Basics - Anfänger-Themen 14
E Elemente aus Liste löschen Java Basics - Anfänger-Themen 5
L Array Elemente verschieben Java Basics - Anfänger-Themen 5
S Elemente in Liste einfügen Java Basics - Anfänger-Themen 2
D jsoup.select findet keine elemente Java Basics - Anfänger-Themen 2
F JList Elemente mit Strings vergleichen Java Basics - Anfänger-Themen 12
T Klassen Doppelte Elemente aus Container entfernen Java Basics - Anfänger-Themen 6
G Verkettete Liste - Neu erzeugte Elemente werden nicht ausgegeben Java Basics - Anfänger-Themen 5
GreenTeaYT HashMap dupliziert meine Elemente? Java Basics - Anfänger-Themen 2
J Elemente in Array speichern, löschen, ... Java Basics - Anfänger-Themen 3
arjoopy Kapselung Elemente aus Objekt-Array ausgeben Java Basics - Anfänger-Themen 8
U Input/Output Elemente eines Binären Suchbaums ausgeben Java Basics - Anfänger-Themen 10
M ComboBox bestimmte Elemente disablen/ausgrauen Java Basics - Anfänger-Themen 3
K Anzahl gleicher Elemente in Array Java Basics - Anfänger-Themen 32
M LinkedList elemente löschen Java Basics - Anfänger-Themen 2
V Elemente aus einem Array mit null überschreiben Java Basics - Anfänger-Themen 4
A Methoden Char-Arrays auf aufeinanderfolgende Elemente vergleichen! Java Basics - Anfänger-Themen 7
C Array Elemente Paarweise vertauschen Java Basics - Anfänger-Themen 2
kilopack15 Array auf doppelte Elemente überprüfen Java Basics - Anfänger-Themen 16
W Elemente aus einer anderen GUI steuern! Java Basics - Anfänger-Themen 13
R warum kann System.out.println(..) etwas, was Swing-Elemente Nicht können ? Java Basics - Anfänger-Themen 11
R Elemente eine Liste im Ring schliessen Java Basics - Anfänger-Themen 9
B generische LinkedList nach Häufigkeit der Elemente füllen Java Basics - Anfänger-Themen 6
B in einem abstrakten Set ,Elemente einer einfache verkettete List epeichern Java Basics - Anfänger-Themen 13
M Klassen Gesamt speicherbare Elemente in Vector? Java Basics - Anfänger-Themen 3
M Elemente eines Arrays verschieben Java Basics - Anfänger-Themen 9
A Anzahl der Elemente in einem Stack wiedergeben Java Basics - Anfänger-Themen 3
O Rekursiver Durchlauf verschachtelter Elemente Java Basics - Anfänger-Themen 1
P Vector durchsuchen und Elemente löschen Java Basics - Anfänger-Themen 4
R Variablen [GELÖST]Elemente in Array um Schrittweite s verschieben Java Basics - Anfänger-Themen 2
1 Wie addiert man die Elemente einer Verketteten Liste? Java Basics - Anfänger-Themen 5
T Erste Schritte Elemente finden, deren Name erst "zusammengesetzt" wird Java Basics - Anfänger-Themen 8
A Eindeutige Elemente aus Array extrahieren Java Basics - Anfänger-Themen 9
C Matrixmultiplikation ohne einzelne Elemente aufzurufen Java Basics - Anfänger-Themen 2
W wie legt man die elemente der liste k Mal fest ? Java Basics - Anfänger-Themen 7
S Anzahl unterschiedlicher Elemente zählen Java Basics - Anfänger-Themen 4
G Performance - höhere Anzahl Swing Elemente Java Basics - Anfänger-Themen 5
A Mehrere 100.000 Elemente verlgeichen Java Basics - Anfänger-Themen 8
A JList Elemente in ein andres JList Adden Java Basics - Anfänger-Themen 5
B Zweidimensionales Array Elemente jeder Spalte zählen Java Basics - Anfänger-Themen 9
L Rückwärtsausgabe der Array-Elemente Java Basics - Anfänger-Themen 5
1 Elemente von 2 Arrays vergleichen Java Basics - Anfänger-Themen 12
1 Minimum aller Elemente in einem Array bestimmen Java Basics - Anfänger-Themen 10
M aus x Elementen y Elemente auswählen Java Basics - Anfänger-Themen 6
J Eingabe Elemente Aktivieren Java Basics - Anfänger-Themen 2
G String Elemente auf Zahlen Überprüfen Java Basics - Anfänger-Themen 21
T Elemente im Array umdrehen Java Basics - Anfänger-Themen 9
L Elemente zufällig in ein Array verteilen Java Basics - Anfänger-Themen 12
T Wieviel Array-Elemente Java Basics - Anfänger-Themen 19
M Elemente im DefaultListModel separat auslesen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben