java - 为什么即使元素在数组中,此二进制搜索也会返回 -1

标签 java binary-search

它打印出 -1 我可能不知道这是怎么发生的,因为“德国”肯定在数组中

    public class A 
    {
        static PrintWriter pw = new PrintWriter(System.out, true); 

        public static void main(String[] args) throws IOException 
        {
            String[] a = new String[4];
            a[0]="India";
            a[1]="Italy";
            a[2]="Germany";
            a[3]="India";

            pw.println(Arrays.binarySearch(a, "Germany"));


        }
    }

最佳答案

二分查找只适用于有序数组。

Arrays API

关于java - 为什么即使元素在数组中,此二进制搜索也会返回 -1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14131896/

相关文章:

java - 为什么这段代码会抛出异常?

java - 如何在android中的kotlin类和java类之间传递值?

java - 排序插入位置

java - 如何在二分查找中找到数组的最后一个元素

Java - 在对象列表中搜索 2 个日期之间的日期

java - 使用Cmd运行java程序

java - 无法在 Spring Boot 应用程序中使用 AWS SDK(套接字不是由该工厂创建的)

java - 刷新 eclipse 应用程序中的导航 View

c - 改进的二分查找数组

algorithm - 实现二分搜索有哪些陷阱?