0

重複の可能性:
Android の配列で大文字と小文字の文字列を正しく並べ替える方法は?

CLI 引数のサブセットをアルファベット順に並べ替える必要があります。したがって、サブセットをソートするには、次のコードが使用されます。

// Ignore args[0], sort the rest
Arrays.sort(args, 1, args.length);

大文字と小文字を区別せずに並べ替えるには、ある種のコンパレータ オブジェクトを使用する必要があります。サブセットを比較演算子で並べ替えるには、次のメソッド シグネチャがあります。

Arrays.sort(array, from, to, comp);

別の行にコンパレータ オブジェクトを作成せずに、それを Arrays.sort() シグネチャに含めることはできますか (つまり、きちんと理解できる)

4

2 に答える 2

3

内蔵のコンパレータ を使用できますString.CASE_INSENSITIVE_ORDER

Arrays.sort(args, 1, args.length, String.CASE_INSENSITIVE_ORDER);
于 2012-11-11T20:44:53.180 に答える
2

Comparatorたとえば、実装する匿名クラスを定義して初期化できます

new Comparator<Whatever> {
   public int compare(Whatever w1, Whatever w2) {
      // implementation
   }
   // etc...
}

これをインライン、つまりArrays.sort()メソッド内で行います。

Arrays.sort(array, from, to, new Comparator<Whatever>{....});

マイナス面は、コンパレータの実装が自明でない場合の読みやすさです。もちろん、そのコンパレータを他の場所で使用することはできません。ただし、コンパレータが特に小さい場合は、実装がはっきりと見えるため、読みやすくなります。

于 2012-11-11T20:42:51.627 に答える