[TIL] JAVA binarySearch

Soeng_dev·2024년 11월 29일

java의 binarySearch 메서드는 두 클래스에서 제공된다:
두 메서드는 동일한 방식으로 작동하지만, 사용되는 데이터 타입이 다름. Collections.binarySearch는 List에, Arrays.binarySearch는 배열에 사용.

Collections.binarySearch:

대상: List
정렬된 리스트에서 요소를 찾거나 삽입 위치를 계산


public class BinarySearchCollections {
    public static void main(String[] args) {
        List<Integer> sortedList = Arrays.asList(1, 3, 4, 7, 10);

        int index = Collections.binarySearch(sortedList, 4);
        System.out.println("Element found at index: " + index);  // 출력: 2

        int insertIndex = Collections.binarySearch(sortedList, 5); 
        int insertPosition = -insertIndex - 1; 
        System.out.println("Insert position for 5: " + insertPosition);  // 출력: 3
    }
}

Arrays.binarySearch:

대상: 배열 (array)
정렬된 배열에서 요소를 찾거나 삽입 위치를 계산

import java.util.*;

public class BinarySearchArrays {
    public static void main(String[] args) {
        int[] sortedArray = {1, 3, 4, 7, 10};

        int index = Arrays.binarySearch(sortedArray, 4);
        System.out.println("Element found at index: " + index);  // 출력: 2

        int insertIndex = Arrays.binarySearch(sortedArray, 5); 
        int insertPosition = -insertIndex - 1; 
        System.out.println("Insert position for 5: " + insertPosition);  // 출력: 3
    }
}
profile
Software Engineer

0개의 댓글