最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java數(shù)組使用binarySearch()方法查找指定元素的實現(xiàn)

 更新時間:2021年01月21日 10:27:11   作者:C語言中文網(wǎng)  
這篇文章主要介紹了Java數(shù)組使用binarySearch()方法查找指定元素的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

查找數(shù)組是指從數(shù)組中查詢指定位置的元素,或者查詢某元素在指定數(shù)組中的位置。使用 Arrays 類的 binarySearch() 方法可以實現(xiàn)數(shù)組的查找,該方法可使用二分搜索法來搜索指定數(shù)組,以獲得指定對象,該方法返回要搜索元素的索引值。

binarySearch() 方法有多種重載形式來滿足不同類型數(shù)組的查找需要,常用的重載形式有兩種。

(1) 第一種形式如下:

binarySearch(Object[] a,Object key);

其中,a 表示要搜索的數(shù)組,key 表示要搜索的值。如果 key 包含在數(shù)組中,則返回搜索值的索引;否則返回 -1 或“-插入點”。插入點指搜索鍵將要插入數(shù)組的位置,即第一個大于此鍵的元素索引。

在進行數(shù)組查詢之前,必須對數(shù)組進行排序(可以使用 sort() 方法)。如果沒有對數(shù)組進行排序,則結果是不確定的。如果數(shù)組包含多個帶有指定值的元素,則無法確認找到的是哪一個。
例 1
聲明 double 類型的 score 數(shù)組,接著調(diào)用 Arrays 類的 sort() 方法對 score 數(shù)組排序,排序后分別查找數(shù)組中值為 100 和 60 的元素,分別將結果保存到 index1 和 index2 變量中,最后輸出變量的值。代碼如下:

public static void main(String[] args) {
  double[] score = { 99.5, 100, 98, 97.5, 100, 95, 85.5, 100 };
  Arrays.sort(score);
  int index1 = Arrays.binarySearch(score, 100);
  int index2 = Arrays.binarySearch(score, 60);
  System.out.println("查找到 100 的位置是:" + index1);
  System.out.println("查找到 60 的位置是:" + index2);
}

執(zhí)行上述代碼,輸出結果如下:
查找到 100 的位置是:5
查找到 60 的位置是:-1

(2) 除了上述形式外,binarySearch() 還有另一種常用的形式,這種形式用于在指定的范圍內(nèi)查找某一元素。語法如下:

binarySearch(Object[] a,int fromIndex,int toIndex,Object key);

其中,a 表示要進行查找的數(shù)組,fromIndex 指定范圍的開始處索引(包含開始處),toIndex 指定范圍的結束處索引(不包含結束處),key 表示要搜索的元素。

在使用 binarySearch() 方法的上述重載形式時,也需要對數(shù)組進行排序,以便獲取準確的索引值。如果要查找的元素 key 在指定的范圍內(nèi),則返回搜索鍵的索引;否則返回 -1 或 “-插入點”。插入點指要將鍵插入數(shù)組的位置,即范圍內(nèi)第一個大于此鍵的元素索引。

例 2

對例 1 中創(chuàng)建的 score 數(shù)組進行查找元素,指定開始位置為 2,結束位置為 6。代碼如下:

public static void main(String[] args) {
  double[] score = {99.5,100,98,97.5,100,95,85.5,100};
  Arrays.sort(score);
  int index1 = Arrays.binarySearch(score,2,6,100);
  int index2 = Arrays.binarySearch(score,2,6,60);
  System.out.println("查找到 100 的位置是:"+index1);
  System.out.println("查找到 60 的位置是:"+ index2);
}

執(zhí)行上述代碼,輸出結果如下:
查找到 100 的位置是:5
查找到 60 的位置是:-3

注意:實現(xiàn)對數(shù)組進行查找的方法很多,但是使用 Arrays 對象的 binarySearch() 方法是最簡單、最方便的一種,因此該方法經(jīng)常被應用。關于其他的查找方法這里不再演示,感興趣的讀者可以動手試一試。

到此這篇關于Java數(shù)組使用binarySearch()方法查找指定元素的實現(xiàn)的文章就介紹到這了,更多相關Java binarySearch查找指定元素內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

昌乐县| 安达市| 合江县| 潞城市| 沾益县| 黔江区| 凉城县| 百色市| 南投县| 宁国市| 通山县| 马关县| 汉阴县| 廊坊市| 翼城县| 安吉县| 瑞金市| 宁津县| 卢氏县| 茶陵县| 兴宁市| 新津县| 渭南市| 五家渠市| 长葛市| 治县。| 阿拉善右旗| 衢州市| 景德镇市| 宜兰县| 张掖市| 玉溪市| 黑河市| 松潘县| 莱阳市| 同德县| 营山县| 永泰县| 赫章县| 锡林浩特市| 龙井市|