いくつかの配列があり、すべての配列に冗長な文字列があります。今、私はその配列から冗長な文字列を削除する必要がありますが、私のシナリオでは力ずくのテクニックを買う余裕がありません。配列から冗長な値を削除する効率的な方法はありますか?
2 に答える
1
NSSetの問題は、isEqualおよびhashメソッドを使用することです。いくつかの選択肢:
1. NSStringをオーバーライドし、ハッシュとisEqualを実装します。
この場合、isEqualメソッドでcaseInsensitiveCompareの結果を返すと、重複することなくセットを取得できます。
1.すべての文字列を大文字にして、セットの作成に進みます。
于 2012-11-14T20:31:53.753 に答える
1
最終的に必要なものによって異なります。重複のないすべての入力配列値を含む新しい配列が必要な場合は、すべてのオブジェクトをNSSetに追加できます。セットは、追加された重複を無視します。
重複を除いた元の配列が必要な場合は、それぞれを並べ替えてから、それぞれを繰り返し処理して重複を削除するのが最善の方法です。
于 2012-11-14T14:01:41.537 に答える