Java中数组Arrays.binarySearch,快速查找数组内元素位置
2013-06-28 19:34
399 查看
转载请注明出处:http://blog.csdn.net/droyon/article/details/9199321
在数组中查找一个元素,Arrays提供了一个方便查询的方法。Arrays.binarySearch();
测试列子:
测试结果:
在数组内查询一个元素,我们可以用“二分法”,上述方法其实也是用的二分法。
实现代码:
详情请查看java源代码实现。Arrays类
关注我的技术公众号,查看更多优质技术文章推送
微信扫一扫下方二维码即可关注:
在数组中查找一个元素,Arrays提供了一个方便查询的方法。Arrays.binarySearch();
测试列子:
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数组中根据元素查找位置 索引
- 算法实验一:二分查找算法改进: 当搜索元素x不存在时,返回小于x的最大元素位置i和大于x的最小元素位置j. 当搜索元素在数组中时,i和j相同,均为x在数组中的位置。
- 遍历查找集合或者数组中的某个元素的值 java代码 详解 Android开发
- [Java基础]数组/二维数组/查找最大元素/平均值/复制/颠倒/矩阵相乘
- 浅谈PHP第三弹---使用二分查找法查找数组中的元素位置
- 数组 复制 元素个数 连接 查找 查询位置
- 快速查找数组中第几小的元素
- 【杨氏矩阵查找元素位置Java实现】
- 二、 请按要求对下面的Java代码进行测试。代码的功能是:用折半查找法在元素呈升序排列的数组中查找值为key的元素。
- Java ArrayList add(index,element) 方法插入元素到数组指定位置
- Java数组索引元素下标快速高效的方法
- 20170731 JAVA查找数组中的元素
- Java 查找某个数字在数组中第一次和最后一次出现的位置
- js数组插入指定位置元素,删除指定位置元素,查找指定位置元素算法
- c++在数组中查找元素并返回位置下标,统计某元素出现次数程序
- 顺序查找法查找元素在数组中所在位置
- java 快速初始化,填充一个数组, Arrays.fill