Java学习日志8:数组的基本操作之查询数组

binarySearch(Object[] a,Objext key)方法

原理

此方法可使用二分搜索法来搜索指定数组,以获得指定对象。该方法返回要搜索元素的索引值。binarySearch()方法提供了多种重载形式,用于满足各种类型数组的查找需要。

注意

在调用此方法前要对数组进行排序。如果没有对数组进行排序,则结果是不确定的。如果数组包含多个带有指定值的元素,则无法保证找到的是哪一个。

代码演示

package com.edu.jsu;

import java.util.Arrays;    //调用Arrays类

public class Text {
    public static void main(String[] args) {
        int[] a = new int[]{1,5,7,3,6,4,8};
        Arrays.sort(a);    //将数组a进行排序
        int index = Arrays.binarySearch(a,8);    //在数组中找到值为8的元素并返回下表
        System.out.println(index);
    }
}

binarySearch(Objct[], a, int fromIndex, int toIndex, Object key)方法

原理

该方法在指定的范围内检索某一元素,如果要搜索的元素key在指定的范围内,则返回搜索键的索引;否则返回-1或“-”(插入点)。如果范围中的所有元素都小于指定的键,则插入点为toIndex(注意,这保证了当且仅当此键被找到时,返回的值将大于或等于0)。

注意

使用该方法前,同样要对数组进行排序,这样才能获得准确的牵引值。

代码演示

package com.edu.jsu;

import java.util.Arrays;

public class Text {
    public static void main(String[] args) {
        String[] a = new String[]{"ab","cd","ef","yz"};
        Arrays.sort(a);
        int index = Arrays.binarySearch(a,0,2,"cd");
        System.out.println(index);
    }
}

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值