다음을 통해 공유


Arrays.Sort 메서드

정의

오버로드

Sort(Object[], Int32, Int32, IComparator)

지정된 비교자에 의해 유도된 순서에 따라 지정된 개체 배열의 지정된 범위를 정렬합니다.

Sort(Byte[], Int32, Int32)

배열의 지정된 범위를 오름차순으로 정렬합니다.

Sort(Single[], Int32, Int32)

배열의 지정된 범위를 오름차순으로 정렬합니다.

Sort(Int64[], Int32, Int32)

배열의 지정된 범위를 오름차순으로 정렬합니다.

Sort(Int32[], Int32, Int32)

배열의 지정된 범위를 오름차순으로 정렬합니다.

Sort(Int16[], Int32, Int32)

배열의 지정된 범위를 오름차순으로 정렬합니다.

Sort(Double[], Int32, Int32)

배열의 지정된 범위를 오름차순으로 정렬합니다.

Sort(Char[], Int32, Int32)

배열의 지정된 범위를 오름차순으로 정렬합니다.

Sort(Object[], Int32, Int32)

지정된 개체 배열의 지정된 범위를 요소의 비교 가능한 자연 순서에 따라 오름차순으로 정렬합니다.

Sort(Single[])

지정된 배열을 오름차순으로 정렬합니다.

Sort(Int64[])

지정된 배열을 오름차순으로 정렬합니다.

Sort(Int32[])

지정된 배열을 오름차순으로 정렬합니다.

Sort(Int16[])

지정된 배열을 오름차순으로 정렬합니다.

Sort(Double[])

지정된 배열을 오름차순으로 정렬합니다.

Sort(Char[])

지정된 배열을 오름차순으로 정렬합니다.

Sort(Byte[])

지정된 배열을 오름차순으로 정렬합니다.

Sort(Object[])

요소의 비교 가능한 자연 순서에 따라 지정된 개체 배열을 오름차순으로 정렬합니다.

Sort(Object[], IComparator)

지정된 비교자에 의해 유도된 순서에 따라 지정된 개체 배열을 정렬합니다.

Sort(Object[], Int32, Int32, IComparator)

지정된 비교자에 의해 유도된 순서에 따라 지정된 개체 배열의 지정된 범위를 정렬합니다.

[Android.Runtime.Register("sort", "([Ljava/lang/Object;IILjava/util/Comparator;)V", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static void Sort (Java.Lang.Object[] a, int fromIndex, int toIndex, Java.Util.IComparator? c);
[<Android.Runtime.Register("sort", "([Ljava/lang/Object;IILjava/util/Comparator;)V", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member Sort : Java.Lang.Object[] * int * int * Java.Util.IComparator -> unit

매개 변수

a
Object[]

정렬할 배열

fromIndex
Int32

정렬할 첫 번째 요소(포함)의 인덱스입니다.

toIndex
Int32

정렬할 마지막 요소(배타적)의 인덱스입니다.

c
IComparator

배열의 순서를 결정하는 비교자입니다. 값은 null 요소의 비교 가능한 자연 순서를 사용해야 했음을 나타냅니다.

특성

설명

지정된 비교자에 의해 유도된 순서에 따라 지정된 개체 배열의 지정된 범위를 정렬합니다. 정렬할 범위는 인덱스에서 인덱스(포함)에서 인덱fromIndextoIndex스로 확장됩니다. (정렬할 범위가 비어 있는 경우fromIndex==toIndex) 범위의 모든 요소는 지정된 비교자에 의해 상호 비교되어야 합니다(즉, c.compare(e1, e2) 요소 e1e2 범위에 대해 throw ClassCastException 해서는 안 됩니다).

이 정렬은 안정적입니다. 정렬의 결과로 같은 요소의 순서가 다시 지정되지 않습니다.

구현 참고: 이 구현은 입력 배열이 부분적으로 정렬될 때 n lg(n) 비교보다 훨씬 적게 필요한 안정적이고 적응적이며 반복적인 병합기이며 입력 배열이 임의로 정렬될 때 기존 병합기의 성능을 제공합니다. 입력 배열이 거의 정렬된 경우 구현에는 약 n개의 비교가 필요합니다. 임시 스토리지 요구 사항은 거의 정렬된 입력 배열에 대한 작은 상수에서 임의로 정렬된 입력 배열에 대한 n/2 개체 참조까지 다양합니다.

구현은 입력 배열에서 오름차순과 내림차순을 동일하게 활용하며 동일한 입력 배열의 다른 부분에서 오름차순과 내림차순을 활용할 수 있습니다. 두 개 이상의 정렬된 배열을 병합하는 데 적합합니다. 배열을 연결하고 결과 배열을 정렬하기만 하면 됩니다.

구현은 Python( TimSort)에 대한 Tim Peters의 목록 정렬에서 조정되었습니다. 1993년 1월, pp 467-474의 제4회 ACM-SIAM 심포지엄에서 피터 매킬로이의 "낙관적 정렬 및 정보 이론 복잡성"의 기술을 사용합니다.

에 대한 java.util.Arrays.sort(T[], int, int, java.util.Comparator<? super T>)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Sort(Byte[], Int32, Int32)

배열의 지정된 범위를 오름차순으로 정렬합니다.

[Android.Runtime.Register("sort", "([BII)V", "")]
public static void Sort (byte[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([BII)V", "")>]
static member Sort : byte[] * int * int -> unit

매개 변수

a
Byte[]

정렬할 배열

fromIndex
Int32

정렬할 첫 번째 요소의 인덱스(포함)

toIndex
Int32

정렬할 마지막 요소의 인덱스(배타적)

특성

예외

if start > end.

if start 또는 end > array.length.

설명

배열의 지정된 범위를 오름차순으로 정렬합니다. 정렬할 범위는 인덱스(포함)에서 인덱fromIndextoIndex스(배타적)로 확장됩니다. 이 경우 fromIndex == toIndex정렬할 범위가 비어 있습니다.

에 대한 java.util.Arrays.sort(byte[], int, int)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Sort(Single[], Int32, Int32)

배열의 지정된 범위를 오름차순으로 정렬합니다.

[Android.Runtime.Register("sort", "([FII)V", "")]
public static void Sort (float[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([FII)V", "")>]
static member Sort : single[] * int * int -> unit

매개 변수

a
Single[]

정렬할 배열

fromIndex
Int32

정렬할 첫 번째 요소의 인덱스(포함)

toIndex
Int32

정렬할 마지막 요소의 인덱스(배타적)

특성

예외

if start > end.

if start 또는 end > array.length.

설명

배열의 지정된 범위를 오름차순으로 정렬합니다. 정렬할 범위는 인덱스(포함)에서 인덱fromIndextoIndex스(배타적)로 확장됩니다. 이 경우 fromIndex == toIndex정렬할 범위가 비어 있습니다.

< 관계는 모든 부동 소수 자릿수 값 -0.0f == 0.0f 에 대한 총 순서를 제공하지 않습니다. is trueFloat.NaN 값은 그 자체의 값보다 작거나, 크거나, 같지도 않습니다. 이 메서드는 메서드 Float#compareTo-0.0f 에 의해 부과된 총 순서를 사용합니다. 값 0.0f 보다 작게 처리되고 Float.NaN 다른 값보다 큰 것으로 간주되며 모든 Float.NaN 값은 같음으로 간주됩니다.

에 대한 java.util.Arrays.sort(float[], int, int)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

추가 정보

적용 대상

Sort(Int64[], Int32, Int32)

배열의 지정된 범위를 오름차순으로 정렬합니다.

[Android.Runtime.Register("sort", "([JII)V", "")]
public static void Sort (long[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([JII)V", "")>]
static member Sort : int64[] * int * int -> unit

매개 변수

a
Int64[]

정렬할 배열

fromIndex
Int32

정렬할 첫 번째 요소의 인덱스(포함)

toIndex
Int32

정렬할 마지막 요소의 인덱스(배타적)

특성

예외

if start > end.

if start 또는 end > array.length.

설명

배열의 지정된 범위를 오름차순으로 정렬합니다. 정렬할 범위는 인덱스(포함)에서 인덱fromIndextoIndex스(배타적)로 확장됩니다. 이 경우 fromIndex == toIndex정렬할 범위가 비어 있습니다.

에 대한 java.util.Arrays.sort(long[], int, int)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Sort(Int32[], Int32, Int32)

배열의 지정된 범위를 오름차순으로 정렬합니다.

[Android.Runtime.Register("sort", "([III)V", "")]
public static void Sort (int[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([III)V", "")>]
static member Sort : int[] * int * int -> unit

매개 변수

a
Int32[]

정렬할 배열

fromIndex
Int32

정렬할 첫 번째 요소의 인덱스(포함)

toIndex
Int32

정렬할 마지막 요소의 인덱스(배타적)

특성

예외

if start > end.

if start 또는 end > array.length.

설명

배열의 지정된 범위를 오름차순으로 정렬합니다. 정렬할 범위는 인덱스(포함)에서 인덱fromIndextoIndex스(배타적)로 확장됩니다. 이 경우 fromIndex == toIndex정렬할 범위가 비어 있습니다.

에 대한 java.util.Arrays.sort(int[], int, int)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Sort(Int16[], Int32, Int32)

배열의 지정된 범위를 오름차순으로 정렬합니다.

[Android.Runtime.Register("sort", "([SII)V", "")]
public static void Sort (short[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([SII)V", "")>]
static member Sort : int16[] * int * int -> unit

매개 변수

a
Int16[]

정렬할 배열

fromIndex
Int32

정렬할 첫 번째 요소의 인덱스(포함)

toIndex
Int32

정렬할 마지막 요소의 인덱스(배타적)

특성

예외

if start > end.

if start 또는 end > array.length.

설명

배열의 지정된 범위를 오름차순으로 정렬합니다. 정렬할 범위는 인덱스(포함)에서 인덱fromIndextoIndex스(배타적)로 확장됩니다. 이 경우 fromIndex == toIndex정렬할 범위가 비어 있습니다.

에 대한 java.util.Arrays.sort(short[], int, int)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Sort(Double[], Int32, Int32)

배열의 지정된 범위를 오름차순으로 정렬합니다.

[Android.Runtime.Register("sort", "([DII)V", "")]
public static void Sort (double[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([DII)V", "")>]
static member Sort : double[] * int * int -> unit

매개 변수

a
Double[]

정렬할 배열

fromIndex
Int32

정렬할 첫 번째 요소의 인덱스(포함)

toIndex
Int32

정렬할 마지막 요소의 인덱스(배타적)

특성

예외

if start > end.

if start 또는 end > array.length.

설명

배열의 지정된 범위를 오름차순으로 정렬합니다. 정렬할 범위는 인덱스(포함)에서 인덱fromIndextoIndex스(배타적)로 확장됩니다. 이 경우 fromIndex == toIndex정렬할 범위가 비어 있습니다.

< 관계는 모든 이중 값 -0.0d == 0.0d 에 대한 총 순서를 제공하지 않습니다. is trueDouble.NaN 값은 그 자체에 대한 값보다 작거나, 크거나, 같지도 않습니다. 이 메서드는 메서드 Double#compareTo-0.0d 에 의해 부과된 총 순서를 사용합니다. 값 0.0d 보다 작게 처리되고 Double.NaN 다른 값보다 큰 것으로 간주되며 모든 Double.NaN 값은 같음으로 간주됩니다.

에 대한 java.util.Arrays.sort(double[], int, int)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

추가 정보

적용 대상

Sort(Char[], Int32, Int32)

배열의 지정된 범위를 오름차순으로 정렬합니다.

[Android.Runtime.Register("sort", "([CII)V", "")]
public static void Sort (char[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([CII)V", "")>]
static member Sort : char[] * int * int -> unit

매개 변수

a
Char[]

정렬할 배열

fromIndex
Int32

정렬할 첫 번째 요소의 인덱스(포함)

toIndex
Int32

정렬할 마지막 요소의 인덱스(배타적)

특성

예외

if start > end.

if start 또는 end > array.length.

설명

배열의 지정된 범위를 오름차순으로 정렬합니다. 정렬할 범위는 인덱스(포함)에서 인덱fromIndextoIndex스(배타적)로 확장됩니다. 이 경우 fromIndex == toIndex정렬할 범위가 비어 있습니다.

에 대한 java.util.Arrays.sort(char[], int, int)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Sort(Object[], Int32, Int32)

지정된 개체 배열의 지정된 범위를 요소의 비교 가능한 자연 순서에 따라 오름차순으로 정렬합니다.

[Android.Runtime.Register("sort", "([Ljava/lang/Object;II)V", "")]
public static void Sort (Java.Lang.Object[] a, int fromIndex, int toIndex);
[<Android.Runtime.Register("sort", "([Ljava/lang/Object;II)V", "")>]
static member Sort : Java.Lang.Object[] * int * int -> unit

매개 변수

a
Object[]

정렬할 배열

fromIndex
Int32

정렬할 첫 번째 요소(포함)의 인덱스입니다.

toIndex
Int32

정렬할 마지막 요소(배타적)의 인덱스입니다.

특성

예외

요소가 구현Comparable되지 않거나 요소 쌍에 대해 throw되는 경우 compareTo

if start > end.

if start 또는 end > array.length.

설명

지정된 개체 배열의 지정된 범위를 요소의 비교 가능한 자연 순서에 따라 오름차순으로 정렬합니다. 정렬할 범위는 인덱스에서 인덱스(포함)에서 인덱fromIndextoIndex스로 확장됩니다. (정렬할 범위가 비어 있는 경우 fromIndex==toIndex) 이 범위의 모든 요소는 인터페이스를 Comparable 구현해야 합니다. 또한 이 범위의 모든 요소는 상호 비교할 수 있어야 합니다(즉, e1.compareTo(e2) 모든 요소 e1e2 배열에 대해 throw ClassCastException 해서는 안 됨).

이 정렬은 안정적입니다. 정렬의 결과로 같은 요소의 순서가 다시 지정되지 않습니다.

구현 참고: 이 구현은 입력 배열이 부분적으로 정렬될 때 n lg(n) 비교보다 훨씬 적게 필요한 안정적이고 적응적이며 반복적인 병합기이며 입력 배열이 임의로 정렬될 때 기존 병합기의 성능을 제공합니다. 입력 배열이 거의 정렬된 경우 구현에는 약 n개의 비교가 필요합니다. 임시 스토리지 요구 사항은 거의 정렬된 입력 배열에 대한 작은 상수에서 임의로 정렬된 입력 배열에 대한 n/2 개체 참조까지 다양합니다.

구현은 입력 배열에서 오름차순과 내림차순을 동일하게 활용하며 동일한 입력 배열의 다른 부분에서 오름차순과 내림차순을 활용할 수 있습니다. 두 개 이상의 정렬된 배열을 병합하는 데 적합합니다. 배열을 연결하고 결과 배열을 정렬하기만 하면 됩니다.

구현은 Python( TimSort)에 대한 Tim Peters의 목록 정렬에서 조정되었습니다. 1993년 1월, pp 467-474의 제4회 ACM-SIAM 심포지엄에서 피터 매킬로이의 "낙관적 정렬 및 정보 이론 복잡성"의 기술을 사용합니다.

에 대한 java.util.Arrays.sort(java.lang.Object[], int, int)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Sort(Single[])

지정된 배열을 오름차순으로 정렬합니다.

[Android.Runtime.Register("sort", "([F)V", "")]
public static void Sort (float[] a);
[<Android.Runtime.Register("sort", "([F)V", "")>]
static member Sort : single[] -> unit

매개 변수

a
Single[]

정렬할 배열

특성

설명

지정된 배열을 오름차순으로 정렬합니다.

< 관계는 모든 부동 소수 자릿수 값 -0.0f == 0.0f 에 대한 총 순서를 제공하지 않습니다. is trueFloat.NaN 값은 그 자체의 값보다 작거나, 크거나, 같지도 않습니다. 이 메서드는 메서드 Float#compareTo-0.0f 에 의해 부과된 총 순서를 사용합니다. 값 0.0f 보다 작게 처리되고 Float.NaN 다른 값보다 큰 것으로 간주되며 모든 Float.NaN 값은 같음으로 간주됩니다.

에 대한 java.util.Arrays.sort(float[])Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

추가 정보

  • <xref:Java.Util.Arrays.Sort(System.Single%5b%5d%2c+System.Int32%2c+System.Int32)>

적용 대상

Sort(Int64[])

지정된 배열을 오름차순으로 정렬합니다.

[Android.Runtime.Register("sort", "([J)V", "")]
public static void Sort (long[] a);
[<Android.Runtime.Register("sort", "([J)V", "")>]
static member Sort : int64[] -> unit

매개 변수

a
Int64[]

정렬할 배열

특성

설명

지정된 배열을 오름차순으로 정렬합니다.

에 대한 java.util.Arrays.sort(long[])Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Sort(Int32[])

지정된 배열을 오름차순으로 정렬합니다.

[Android.Runtime.Register("sort", "([I)V", "")]
public static void Sort (int[] a);
[<Android.Runtime.Register("sort", "([I)V", "")>]
static member Sort : int[] -> unit

매개 변수

a
Int32[]

정렬할 배열

특성

설명

지정된 배열을 오름차순으로 정렬합니다.

에 대한 java.util.Arrays.sort(int[])Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Sort(Int16[])

지정된 배열을 오름차순으로 정렬합니다.

[Android.Runtime.Register("sort", "([S)V", "")]
public static void Sort (short[] a);
[<Android.Runtime.Register("sort", "([S)V", "")>]
static member Sort : int16[] -> unit

매개 변수

a
Int16[]

정렬할 배열

특성

설명

지정된 배열을 오름차순으로 정렬합니다.

에 대한 java.util.Arrays.sort(short[])Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Sort(Double[])

지정된 배열을 오름차순으로 정렬합니다.

[Android.Runtime.Register("sort", "([D)V", "")]
public static void Sort (double[] a);
[<Android.Runtime.Register("sort", "([D)V", "")>]
static member Sort : double[] -> unit

매개 변수

a
Double[]

정렬할 배열

특성

설명

지정된 배열을 오름차순으로 정렬합니다.

< 관계는 모든 이중 값 -0.0d == 0.0d 에 대한 총 순서를 제공하지 않습니다. is trueDouble.NaN 값은 그 자체에 대한 값보다 작거나, 크거나, 같지도 않습니다. 이 메서드는 메서드 Double#compareTo-0.0d 에 의해 부과된 총 순서를 사용합니다. 값 0.0d 보다 작게 처리되고 Double.NaN 다른 값보다 큰 것으로 간주되며 모든 Double.NaN 값은 같음으로 간주됩니다.

에 대한 java.util.Arrays.sort(double[])Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

추가 정보

  • <xref:Java.Util.Arrays.Sort(System.Double%5b%5d%2c+System.Int32%2c+System.Int32)>

적용 대상

Sort(Char[])

지정된 배열을 오름차순으로 정렬합니다.

[Android.Runtime.Register("sort", "([C)V", "")]
public static void Sort (char[] a);
[<Android.Runtime.Register("sort", "([C)V", "")>]
static member Sort : char[] -> unit

매개 변수

a
Char[]

정렬할 배열

특성

설명

지정된 배열을 오름차순으로 정렬합니다.

에 대한 java.util.Arrays.sort(char[])Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Sort(Byte[])

지정된 배열을 오름차순으로 정렬합니다.

[Android.Runtime.Register("sort", "([B)V", "")]
public static void Sort (byte[] a);
[<Android.Runtime.Register("sort", "([B)V", "")>]
static member Sort : byte[] -> unit

매개 변수

a
Byte[]

정렬할 배열

특성

설명

지정된 배열을 오름차순으로 정렬합니다.

에 대한 java.util.Arrays.sort(byte[])Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Sort(Object[])

요소의 비교 가능한 자연 순서에 따라 지정된 개체 배열을 오름차순으로 정렬합니다.

[Android.Runtime.Register("sort", "([Ljava/lang/Object;)V", "")]
public static void Sort (Java.Lang.Object[] a);
[<Android.Runtime.Register("sort", "([Ljava/lang/Object;)V", "")>]
static member Sort : Java.Lang.Object[] -> unit

매개 변수

a
Object[]

정렬할 배열

특성

예외

요소가 구현Comparable되지 않거나 요소 쌍에 대해 throw되는 경우 compareTo

설명

요소의 비교 가능한 자연 순서에 따라 지정된 개체 배열을 오름차순으로 정렬합니다. 배열의 모든 요소는 인터페이스를 Comparable 구현해야 합니다. 또한 배열의 모든 요소는 상호 비교할 수 있어야 합니다(즉, e1.compareTo(e2) 모든 요소 e1e2 배열에 대해 throw ClassCastException 해서는 안 됨).

이 정렬은 안정적입니다. 정렬의 결과로 같은 요소의 순서가 다시 지정되지 않습니다.

구현 참고: 이 구현은 입력 배열이 부분적으로 정렬될 때 n lg(n) 비교보다 훨씬 적게 필요한 안정적이고 적응적이며 반복적인 병합기이며 입력 배열이 임의로 정렬될 때 기존 병합기의 성능을 제공합니다. 입력 배열이 거의 정렬된 경우 구현에는 약 n개의 비교가 필요합니다. 임시 스토리지 요구 사항은 거의 정렬된 입력 배열에 대한 작은 상수에서 임의로 정렬된 입력 배열에 대한 n/2 개체 참조까지 다양합니다.

구현은 입력 배열에서 오름차순과 내림차순을 동일하게 활용하며 동일한 입력 배열의 다른 부분에서 오름차순과 내림차순을 활용할 수 있습니다. 두 개 이상의 정렬된 배열을 병합하는 데 적합합니다. 배열을 연결하고 결과 배열을 정렬하기만 하면 됩니다.

구현은 Python( TimSort)에 대한 Tim Peters의 목록 정렬에서 조정되었습니다. 1993년 1월, pp 467-474의 제4회 ACM-SIAM 심포지엄에서 피터 매킬로이의 "낙관적 정렬 및 정보 이론 복잡성"의 기술을 사용합니다.

에 대한 java.util.Arrays.sort(java.lang.Object[])Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상

Sort(Object[], IComparator)

지정된 비교자에 의해 유도된 순서에 따라 지정된 개체 배열을 정렬합니다.

[Android.Runtime.Register("sort", "([Ljava/lang/Object;Ljava/util/Comparator;)V", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static void Sort (Java.Lang.Object[] a, Java.Util.IComparator? c);
[<Android.Runtime.Register("sort", "([Ljava/lang/Object;Ljava/util/Comparator;)V", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member Sort : Java.Lang.Object[] * Java.Util.IComparator -> unit

매개 변수

a
Object[]

정렬할 배열

c
IComparator

배열의 순서를 결정하는 비교자입니다. 값은 null 요소의 비교 가능한 자연 순서를 사용해야 했음을 나타냅니다.

특성

설명

지정된 비교자에 의해 유도된 순서에 따라 지정된 개체 배열을 정렬합니다. 배열의 모든 요소는 지정된 비교자에 의해 상호 비교되어야 합니다(즉, c.compare(e1, e2) 모든 요소 e1e2 배열에 대해 throw ClassCastException 해서는 안 됩니다).

이 정렬은 안정적입니다. 정렬의 결과로 같은 요소의 순서가 다시 지정되지 않습니다.

구현 참고: 이 구현은 입력 배열이 부분적으로 정렬될 때 n lg(n) 비교보다 훨씬 적게 필요한 안정적이고 적응적이며 반복적인 병합기이며 입력 배열이 임의로 정렬될 때 기존 병합기의 성능을 제공합니다. 입력 배열이 거의 정렬된 경우 구현에는 약 n개의 비교가 필요합니다. 임시 스토리지 요구 사항은 거의 정렬된 입력 배열에 대한 작은 상수에서 임의로 정렬된 입력 배열에 대한 n/2 개체 참조까지 다양합니다.

구현은 입력 배열에서 오름차순과 내림차순을 동일하게 활용하며 동일한 입력 배열의 다른 부분에서 오름차순과 내림차순을 활용할 수 있습니다. 두 개 이상의 정렬된 배열을 병합하는 데 적합합니다. 배열을 연결하고 결과 배열을 정렬하기만 하면 됩니다.

구현은 Python( TimSort)에 대한 Tim Peters의 목록 정렬에서 조정되었습니다. 1993년 1월, pp 467-474의 제4회 ACM-SIAM 심포지엄에서 피터 매킬로이의 "낙관적 정렬 및 정보 이론 복잡성"의 기술을 사용합니다.

에 대한 java.util.Arrays.sort(T[], java.util.Comparator<? super T>)Java 설명서

이 페이지의 일부는 Android 오픈 소스 프로젝트에서 만들고 공유하고 Creative Commons 2.5 특성 라이선스에 설명된 용어에 따라 사용되는 작업을 기반으로 하는 수정 사항입니다.

적용 대상