2017-09-14 4 views
-2

は、だから私はARRという名前のArrayListを持っており、それは私がそれらをソートする整数Javaは

arr[0] = 7 
arr[1] = 4 
arr[2] = 1 
arr[3] = 3 

が含まれていると仮定が、編曲である第一の配列を除いた第二の目的から始まるコンパレータを使用してのArrayListをソートする[0]私配列をこのようにしたい

arr[0] = 7 
arr[1] = 1 
arr[2] = 3 
arr[3] = 4 

どのようにすればいいですか?これはコンパレータを使って行うことができますか?

+1

が – shiv

+0

あなたがここを見ても第二の要素を持つ配列要素を渡す:だからあなたが必要とするすべては、arrArrayList<Integer>であると仮定し

://stackoverflow.com/questions/44440357/sort-an-integer-array-keeping-first-in-place) –

答えて

1

配列で始める場合は、Arrays.asList(T...)を使用して、配列のListビューを実際の配列に基いて構築できます。

List#subList(fromIndex, toIndex)を使用すると、2番目の項目から始まるリストのビューを作成できます。

このサブリストを並べ替えると、オリジナルのリスト(および上記のasListを使用した場合の元の配列)が2番目の項目からソートされます。 [場所で最初に保ち、整数の配列をソート](HTTPS:

arr.subList(1, arr.size()).sort(your_comparator);