JAVA

[java] Array/List 에서 값 검색하기

kiwiiiv 2021. 9. 12. 19:22

 

 

1) Arrays.BinarySearch(배열, 검색할 값)

<이진 검색 알고리즘> 을 사용하여 값을 검색하는 것이기 때문에

정렬된 배열에 대하여만 사용이 가능

 

int index=Arrays.binarySearch(arr,"string");

시간복잡도 : O(logn)

 

++

검색 값에 대하여 배열 안에 존재하지 않는 데이터를 검색하는 경우 ArrayIndexOutOfBoundsException 예외 발생 가능

 

 

 

2) ArrayList.indexOf()

List 자료구조에서만 해당 메소드를 지원함. (O(n))

int index=list.indexOf("string");

 

배열을 다음과 같이 asList() 메소드를 통하여 변환시킨 후 메소드를 사용할 수도 있음

int index=Arrays.asList(arr).indexOf("string");

 

 

 

 

+
존재 여부만 검색할 때

contains() method
(O(n))

boolean isContain=list.contains("string");