다음을 통해 공유


Collections.BinarySearch 메서드

정의

오버로드

BinarySearch(IList, Object)

이진 검색 알고리즘을 사용하여 지정된 개체의 지정된 목록을 검색합니다.

BinarySearch(IList, Object, IComparator)

이진 검색 알고리즘을 사용하여 지정된 개체의 지정된 목록을 검색합니다.

BinarySearch(IList, Object)

이진 검색 알고리즘을 사용하여 지정된 개체의 지정된 목록을 검색합니다.

[Android.Runtime.Register("binarySearch", "(Ljava/util/List;Ljava/lang/Object;)I", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static int BinarySearch (System.Collections.IList list, Java.Lang.Object key);
[<Android.Runtime.Register("binarySearch", "(Ljava/util/List;Ljava/lang/Object;)I", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member BinarySearch : System.Collections.IList * Java.Lang.Object -> int

매개 변수

list
IList

검색할 목록입니다.

key
Object

검색할 키입니다.

반환

목록에 포함된 경우 검색 키의 인덱스입니다. 그렇지 않으면 . (-(<i>insertion point</i>) - 1) 삽입 지점키가 목록에 삽입되는 지점, 즉 키보다 큰 첫 번째 요소의 인덱스 또는 list.size() 목록의 모든 요소가 지정된 키보다 작은 경우로 정의됩니다. 이렇게 하면 키가 발견된 경우에만 반환 값이 >= 0이 됩니다.

특성

설명

이진 검색 알고리즘을 사용하여 지정된 개체의 지정된 목록을 검색합니다. 이 호출을 수행하려면 먼저 해당 요소의 비교 가능한 자연 순서(메서드에 따라)에 #sort(List) 따라 목록을 오름차순으로 정렬해야 합니다. 정렬되지 않으면 결과가 정의되지 않습니다. 목록에 지정된 개체와 같은 요소가 여러 개 포함되어 있으면 어떤 요소를 찾을 수 있는지 보장할 수 없습니다.

이 메서드는 "임의 액세스" 목록에 대해 log(n) 시간으로 실행됩니다(거의 상수 시간 위치 액세스를 제공합니다). 지정된 목록이 인터페이스를 구현 RandomAccess 하지 않고 큰 경우 이 메서드는 O(n) 링크 순회 및 O(log n) 요소 비교를 수행하는 반복기 기반 이진 검색을 수행합니다.

에 대한 java.util.Collections.binarySearch(java.util.List<? extends java.lang.Comparable<? super T>>, T)Java 설명서

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

적용 대상

BinarySearch(IList, Object, IComparator)

이진 검색 알고리즘을 사용하여 지정된 개체의 지정된 목록을 검색합니다.

[Android.Runtime.Register("binarySearch", "(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I", "")]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public static int BinarySearch (System.Collections.IList list, Java.Lang.Object? key, Java.Util.IComparator? c);
[<Android.Runtime.Register("binarySearch", "(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I", "")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
static member BinarySearch : System.Collections.IList * Java.Lang.Object * Java.Util.IComparator -> int

매개 변수

list
IList

검색할 목록입니다.

key
Object

검색할 키입니다.

c
IComparator

목록이 정렬되는 비교자입니다. 값은 null 요소의 비교 가능한 자연 순서를 사용해야 했음을 나타냅니다.

반환

목록에 포함된 경우 검색 키의 인덱스입니다. 그렇지 않으면 . (-(<i>insertion point</i>) - 1) 삽입 지점키가 목록에 삽입되는 지점, 즉 키보다 큰 첫 번째 요소의 인덱스 또는 list.size() 목록의 모든 요소가 지정된 키보다 작은 경우로 정의됩니다. 이렇게 하면 키가 발견된 경우에만 반환 값이 >= 0이 됩니다.

특성

설명

이진 검색 알고리즘을 사용하여 지정된 개체의 지정된 목록을 검색합니다. 이 호출을 하기 전에 지정된 비교자에 따라(메서드에 따라 #sort(List, Comparator) sort(List, Comparator) ) 목록을 오름차순으로 정렬해야 합니다. 정렬되지 않으면 결과가 정의되지 않습니다. 목록에 지정된 개체와 같은 요소가 여러 개 포함되어 있으면 어떤 요소를 찾을 수 있는지 보장할 수 없습니다.

이 메서드는 "임의 액세스" 목록에 대해 log(n) 시간으로 실행됩니다(거의 상수 시간 위치 액세스를 제공합니다). 지정된 목록이 인터페이스를 구현 RandomAccess 하지 않고 큰 경우 이 메서드는 O(n) 링크 순회 및 O(log n) 요소 비교를 수행하는 반복기 기반 이진 검색을 수행합니다.

에 대한 java.util.Collections.binarySearch(java.util.List<? extends T>, T, java.util.Comparator<? super T>)Java 설명서

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

적용 대상