Java中数组Arrays.binarySearch,快速查找数组内元素位置
2013-06-29 22:00
274 查看
在数组中查找一个元素,Arrays提供了一个方便查询的方法。Arrays.binarySearch();
测试列子:
测试结果:
在数组内查询一个元素,我们可以用“二分法”,上述方法其实也是用的二分法。
实现代码:
详情请查看java源代码实现。Arrays类
测试列子:
public class MainTestArray { public static void main(String args[]){ String[] intArray = new String[]{"a","b","c","d","e","f","g","h","i","j",}; int positon = Arrays.binarySearch(intArray, "d"); System.out.println("position is:"+positon); } }
测试结果:
position is:3
在数组内查询一个元素,我们可以用“二分法”,上述方法其实也是用的二分法。
实现代码:
public static int binarySearch(char[] array, int startIndex, int endIndex, char value) { checkBinarySearchBounds(startIndex, endIndex, array.length); int lo = startIndex; int hi = endIndex - 1; while (lo <= hi) { int mid = (lo + hi) >>> 1;//无符号右移 char midVal = array[mid]; if (midVal < value) { lo = mid + 1; } else if (midVal > value) { hi = mid - 1; } else { return mid; // value found } } return ~lo; // value not present }
详情请查看java源代码实现。Arrays类
相关文章推荐
- Java中数组Arrays.binarySearch,快速查找数组内元素位置
- java数组中根据元素查找位置 索引
- java数组中根据元素查找位置
- 如何使用Linq查找数组中一个元素所在的位置
- 在相邻元素相差1的数组中查找某一特定元素第一次出现的位置(非遍历)
- java基础-使用Arrays管理数组排序,复制,查找,填充
- 解析、查找数组中重复出现的元素(Java)
- 查找某个元素在数组中的位置
- 剑指Offer-29-java实现查找数组中出现次数超过一半的元素
- 运用java在数组键盘输入的位置加入元素
- Java数组-二分查找法用于元素插入有序数组,并获取元素插入的位置
- java方便快速移除Remove数组中的元素 根据数组索引移除元素
- 遍历查找集合或者数组中的某个元素的值 java代码 详解 Android开发
- 《数据结构、算法与应用》8.(顺序查找数组中第一个出现指定元素的位置)
- 查找数组中元素的索引位置
- java关于ArrayList动态数组与静态数组Arrays-元素比较输出最大最小值的使用例子
- lastIndexOf() 找出指定元素出现的所有位置(返回的是下标数组)---lastIndexOf() 这个方法是倒叙查找,正序的是indexOf()
- indexOf() 如何判断一个元素在指定数组中是否存在? 找出指定元素出现的所有位置? indexOf()方法 是正序查找,lastIndexOf()是倒叙查找
- Arrays查找元素所在位置
- Java 实现从数组删除指定位置元素