1. Arrays.sort()メソッドはクイックソートメソッドです。47要素未満のソートに適しています。特定のソートについては、次のコードを参照してください。
2.配列を小さいものから大きいものへとソートするために使用できます。また、配列を大きいものから小さいものへとソートするためにも使用できます。以下では、4つのソート方法について説明します。
a)Arrays.sort(num)を最小から最大にソートします。
Integer[] arr = new Integer[]{3,60,2,1,4,55,6,8,47,2,3,5};
Arrays.sort(arr);
System.out.println("从小到大排序:");
for(int i =0;i<arr.length ;i++){
System.out.print(arr[i]+" ");//1 2 2 3 3 4 5 6 8 47 55 60
}
b) 最大から最小に並べ替えます:
Arrays.sort(num、new Comparator <Integer>(){
@Override
public int compare(Integer o1、Integer o2){ // TODO自動生成されたメソッドスタブ returno2-o1; } });
Integer[] arr = new Integer[]{3,60,2,1,4,55,6,8,47,2,3,5};
Arrays.sort(arr, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
// TODO Auto-generated method stub
return o2-o1;
}
});
System.out.println("从大到小排序:");
for(int i =0;i<arr.length ;i++){
System.out.print(arr[i]+" ");//60 55 47 8 6 5 4 3 3 2 2 1
}
c)N番目の位置の後に最小から最大にソートします。添え字はNではないことに注意してください。Arrays.sort(num、N、num.length);
Integer[] arr = new Integer[]{3,60,2,1,4,55,6,8,47,2,3,5};
Arrays.sort(arr,2,arr.length);
System.out.println("在第二位(不是数组下标为2)以后进行从小到大排序:");
for(int i =0;i<arr.length ;i++){
System.out.print(arr[i]+" ");
}
d)N番目の位置で最大から最小にソートします。添え字はNではないことに注意してください。
Arrays.sort(num、N、num.length、new Comparator <Integer>(){
@Override
public int compare(Integer o1、Integer o2){
o2-o1を返します。
}
});
Integer[] arr = new Integer[]{3,60,2,1,4,55,6,8,47,2,3,5};
Arrays.sort(arr,5,arr.length,new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2-o1;
}
});
System.out.println("在第五位(不是数组下标为5)以后进行从大到小排序:");
for(int i =0;i<arr.length ;i++){
System.out.print(arr[i]+" ");
}
public class ArraySortTest {
public static void main(String[] args) {
Integer[] arr = new Integer[]{3,60,2,1,4,55,6,8,47,2,3,5};
Arrays.sort(arr);
System.out.println("从小到大排序:");
for(int i =0;i<arr.length ;i++){
System.out.print(arr[i]+" ");//1 2 2 3 3 4 5 6 8 47 55 60
}
Arrays.sort(arr, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
// TODO Auto-generated method stub
return o2-o1;
}
});
System.out.println("\n从大到小排序:");
for(int i =0;i<arr.length ;i++){
System.out.print(arr[i]+" ");//60 55 47 8 6 5 4 3 3 2 2 1
}
Arrays.sort(arr,2,arr.length);
System.out.println("\n在第二位(不是数组下标为2)以后进行从小到大排序:");
for(int i =0;i<arr.length ;i++){
System.out.print(arr[i]+" ");//60 55 1 2 2 3 3 4 5 6 8 47
}
Arrays.sort(arr,5,arr.length,new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return o2-o1;
}
});
System.out.println("\n在第五位(不是数组下标为5)以后进行从大到小排序:");
for(int i =0;i<arr.length ;i++){
System.out.print(arr[i]+" ");//60 55 1 2 2 47 8 6 5 4 3 3
}
}
}