zoukankan      html  css  js  c++  java
  • Arrays.binarySearch 数组二分查找

     public static void main(String[] args) throws  Exception {
            /**
             * binarySearch(Object[], Object key)
             a: 要搜索的数组
             key:要搜索的值
             如果key在数组中,则返回搜索值的索引;否则返回-1或“-”(插入点)。插入点是索引键将要插入数组的那一点,即第一个大于该键的元素的索引。
             技巧:
             [1] 搜索值不是数组元素,且在数组范围内,从1开始计数,得“ - 插入点索引值”;
             [2] 搜索值是数组元素,从0开始计数,得搜索值的索引值;
             [3] 搜索值不是数组元素,且大于数组内元素,索引值为 – (length + 1);
             [4] 搜索值不是数组元素,且小于数组内元素,索引值为 – 1。
             binarySearch(Object[], int fromIndex, int toIndex, Object key)如上
             */
            int arr [] = new int[]{1,3,4,5,8,9};
            System.out.println(arr.length+1);
            Arrays.sort(arr);
            int index1 = Arrays.binarySearch(arr,6);
            int index2 = Arrays.binarySearch(arr,4);
            int index3 = Arrays.binarySearch(arr,0);
            int index4 = Arrays.binarySearch(arr,10);
            System.out.println("index1="+index1);
            System.out.println("index2="+index2);
            System.out.println("index3="+index3);
            System.out.println("index4="+index4);
    
    
    
        }
    结果如下

    index1=-5
    index2=2
    index3=-1
    index4=-7

     
  • 相关阅读:
    Java 概述
    快速开始
    Essential Java.《Java 编程要点》
    SpringBoot属性配置-第三章
    SpringBoot项目属性配置-第二章
    SpringBoot学习-第一章
    spring boot configuration annotation processor not found in classpath
    IntelliJ IDEA 2017 完美注册方法及破解方法
    springmvc-初次接触
    mybatis的多表联查
  • 原文地址:https://www.cnblogs.com/zyzcj/p/7933672.html
Copyright © 2011-2022 走看看