JavaにおけるArays.sort()配列並び替えの使い方例
14068 ワード
記事の目次.引用 .一次元配列におけるArays.sort() .二次元配列におけるArays.sort() .sort()の快速ソースコード 1.引用
LeetCode-Stort&arry-56 M:マージ区間(Merge Intervals)という古典的なタイプは、2次元配列の順序付けに関連し、直接
2.一次元配列の中のArays.sort()
(1)まず一般的な場合、1つの普通の1次元配列を昇順に並べた時に、直接呼び出しをすればいいです。
3.二次元配列の中のArays.sort()
(1)二次元配列もCompratorコンパレータを呼び出す必要があります。次のように、各配列の最初の要素に従って昇順に並べられます。
wait-研究は引き続き
LeetCode-Stort&arry-56 M:マージ区間(Merge Intervals)という古典的なタイプは、2次元配列の順序付けに関連し、直接
Arrays.sort()
メソッドを呼び出すことは不可能であるので、本明細書では、この方法について説明する。2.一次元配列の中のArays.sort()
(1)まず一般的な場合、1つの普通の1次元配列を昇順に並べた時に、直接呼び出しをすればいいです。
public static void main(String[] args) {
int[] arr1 = new int[]{3,4,1,5,7};
Arrays.sort(arr1);
}
(2)しかし、降順に並べたいなら、どうすればいいですか? public static void main(String[] args) {
int[] arr1 = new int[]{3,4,1,5,7};
Arrays.sort(arr1, new Comparator<int>(){
@Override
public int compare(Integer o1, Integer o2) {
return o2-o1;
}
});
}
コンパレータを理論的に呼び出して、このように書くべきですが、コンパイルする時にエラーが発生します。一般的には応用タイプが必要で、Comparator
は不可能です。だから、次のように変更します。 public static void main(String[] args) {
Integer[] arr1 = new Integer[]{3,4,1,5,7};
Arrays.sort(arr1,new Comparator<Integer>(){
@Override
public int compare(Integer o1, Integer o2) {
return o2-o1;
}
});
}
配列を参照の種類に変更する必要があります。3.二次元配列の中のArays.sort()
(1)二次元配列もCompratorコンパレータを呼び出す必要があります。次のように、各配列の最初の要素に従って昇順に並べられます。
public static void main(String[] args) {
int[][] arr2 = new int[][]{{1, 3}, {3, 5}, {2, 7}, {6, 9}};
Arrays.sort(arr2, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
return o1[0] - o2[0];
}
});
}
(2)降順: Arrays.sort(arr2, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
return o2[0] - o1[0];
}
});
(3)不変 Arrays.sort(arr2, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
return 0;
}
});
4.sort()の快速ソースwait-研究は引き続き