さて、これが私の問題です。HashSet'sする必要があります。このメソッドを使用して、removeAll一方のセットに存在する値をもう一方のセットから削除します。
Setメソッドを呼び出す前に、明らかに値をsに追加します。値は両方のリストで異なるケースであるため、追加する前.toUpperCase()にそれぞれを呼び出します。String事件に韻や理由はありません。
を呼び出したらremoveAll、に残っている値の元のケースを元に戻す必要がありますSet。元のリストを実行して使用せずにこれを行う効率的な方法はありCompareToIgnoreCaseますか?
例:
リスト1:
"BOB"
"Joe"
"john"
"MARK"
"dave"
"Bill"
リスト2:
"JOE"
"MARK"
"DAVE"
この後、を使用しHashSetてリストごとに個別に作成します。次に、を呼び出します。toUpperCase()StringremoveAll
Set1.removeAll(set2);
Set1:
"BOB"
"JOHN"
"BILL"
リストを再び次のようにする必要があります。
"BOB"
"john"
"Bill"
どんなアイデアでも大歓迎です。私はそれが貧弱であることを知っています、元のリストの基準があるはずですが、それは私が決めることではありません。