Java定義list如何實(shí)現(xiàn)二分查找

小樊
103
2024-06-25 17:31:30

在Java中,可以使用Collections類(lèi)的binarySearch()方法來(lái)實(shí)現(xiàn)對(duì)List進(jìn)行二分查找。

示例代碼如下:

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class BinarySearchExample {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>();
        numbers.add(2);
        numbers.add(5);
        numbers.add(7);
        numbers.add(10);
        numbers.add(15);

        // 對(duì)List進(jìn)行排序
        Collections.sort(numbers);

        int key = 7;

        // 使用binarySearch方法進(jìn)行二分查找
        int index = Collections.binarySearch(numbers, key);

        if (index >= 0) {
            System.out.println("Element found at index: " + index);
        } else {
            System.out.println("Element not found");
        }
    }
}

在上述代碼中,首先創(chuàng)建一個(gè)包含整數(shù)的List,并對(duì)其進(jìn)行排序。然后使用Collections類(lèi)的binarySearch()方法來(lái)查找指定元素的索引位置。如果找到了元素,則返回它的索引值,否則返回一個(gè)負(fù)數(shù)。

0