Arrays.sort()メソッドを使用して配列を並べ替えます

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 
		}

	}
}

 

おすすめ

転載: blog.csdn.net/qq_36138652/article/details/97045743