Collection removeAlle Groß- und Kleinschreibung ignorieren?

Ok, hier ist mein Problem. Ich mussHashSetIch benutze dieremoveAll Methode zum Löschen von Werten, die in einer Gruppe von der anderen vorhanden sind.

Bevor ich die Methode aufrufe, füge ich die Werte offensichtlich der hinzuSets. Ich rufe.toUpperCase() auf jederString vor dem Hinzufügen, da die Werte in beiden Listen unterschiedliche Groß- und Kleinschreibung haben. Es gibt keinen Reim oder Grund für den Fall.

Einmal rufe ich anremoveAllIch muss die Originalfälle für die Werte, die in der Liste verbleiben, zurück habenSet. Gibt es eine effiziente Möglichkeit, dies zu tun, ohne die ursprüngliche Liste zu durchsuchen und zu verwenden?CompareToIgnoreCase?

Beispiel:

Liste1:

"BOB"
"Joe"
"john"
"MARK"
"dave"
"Bill"

Liste2:

"JOE"
"MARK"
"DAVE"

Danach erstellen Sie eine separateHashSet für jede Liste mittoUpperCase() aufStrings. Dann ruf anremoveAll.

Set1.removeAll(set2);

Set1:
    "BOB"
    "JOHN"
    "BILL"

Ich brauche die Liste, damit sie wieder so aussieht:

"BOB"
"john"
"Bill"

Irgendwelche Ideen wären sehr dankbar. Ich weiß, dass es schlecht ist, es sollte einen Standard für die ursprüngliche Liste geben, aber das kann ich nicht entscheiden.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage