binarySearch在java的查找實例用法
在java數組中,查找數組元素是比較基礎的操作瞭,arrays類的binarySearch就是專門實現指定元素的。同時它也屬於我們常說的二分法。所以作用的范圍是排序過的數組。下面我們就binarySearch的概念、使用註意進行說明,同時分出它的兩種返回值情況,最後進行查找的實例分享。
1.概念
通過二分法在已經排好序的數組中查找指定的元素,並返回該元素的下標。
2.使用註意
此法為二分搜索法,故查詢前需要用sort()方法將數組排序,如果數組沒有排序,則結果是不確定的。如果數組中含有多個指定值的元素,則無法保證找到的是哪一個。
3.返回值
該方法的返回值類型為整型,具體返回值具體分為以下兩種情況:
(1)如果數組中存在該元素,則會返回該元素在數組中的下標
(2)如果數組中不存在該元素,則會返回-(插入點 + 1)
這裡的插入點具體指的是:如果該數組中存在該元素,那個元素在該數組中的下標
4.實例
public static void main(String[] args) { List<Integer> lists = new ArrayList<Integer>(); lists.add(3); lists.add(6); lists.add(8); lists.add(7); lists.add(1); // 原來的集合 System.out.println("原來的集合:"); for (Integer str : lists) { System.out.print(str + " "); } // 對集合進行排序 Collections.sort(lists); System.out.println("\n排序後的集合:"); for (Integer str : lists) { System.out.print(str + " "); } // 使用binarySearch方法查找集合中的元素 int i = Collections.binarySearch(lists, 2); System.out.println("\n2所在的位置:" + i); }
到此這篇關於binarySearch在java的查找實例用法的文章就介紹到這瞭,更多相關binarySearch在java的查找使用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Java List的sort()方法改寫compare()實現升序,降序,倒序的案例
- Java 基礎–Arrays工具類詳解
- java Array和Arrays的區別總結
- Java集合案例之鬥地主遊戲
- Java 數組轉List的四種方式小結