Arrays.binarySearch坑

        // 二分查找前先對其排序
        Arrays.sort(newRulesIds);
        bindingRules.forEach(v -> {
            if (Arrays.binarySearch(newRulesIds, v.getRulesid()) < 0)
            {
                deleteBindingRulesIds.add(v.getId());
            }
        });

Arrays.binarySearch方法如果找不到數組中值,將不會和indexOf一樣返回-1。。。不要和我一樣當indexOf使。。。

 

要是查詢的的值小於數組裏面的最小值那麼結果(-(0)-1結果就是-1),如果查詢的值大於數組裏面的最大值。那麼結果就是(-(它的索引值)-1結果就是-(1+索引值))

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章