浅谈indexOf() 与 binarySearch()
来源:互联网 发布:域名出售 编辑:程序博客网 时间:2024/05/19 20:45
我们知道在实际开发中,查找(索引)是非常常见的一种操作,能够进行索引,得到想要的结果的方式也很多,这里就谈谈对一个列表进行索引的两个常见的方法:indexOf()和binarySearch()。
indexOf 只能检索到第一个符合条件的值,返回值是下标,若没有符合,返回-1。内部的实现是通过遍历,一有符合条件的便返回。自然效率就比较低。
binarySearch()是Collections工具类提供的一个检索方法,使用二分搜索法搜索指定列表,功能与indexOf()相同。实现思路是将列表“折半再折半”直到找到符合条件的值,若没有符合,返回负值。在使用该方法前,有一个容易被忽略的前提就是该列表必须是有序的!!
从性能上讲,binarySearch()比indexOf ()效率要高得多。
小结:对列表进行索引时,建议使用indexOf(),简单,好用,不易出错。因为binarySearch()受限于被索引的列表必须是有序的,当对业务数据进行排序时,也就是改变了元素在列表中的位置,那就有可能埋下一个大bug。
如果是从性能方面考虑的话,binarySearch()是很好的选择。
- 浅谈indexOf() 与 binarySearch()
- Indexof与BinarySearch的比较
- BinarySearch
- BinarySearch
- binarySearch
- BinarySearch
- BinarySearch
- BinarySearch
- BinarySearch
- 实验Sort、Reverse 、Copy、IndexOf、BinarySearch、Clear 、GetLength()、GetLowerBound()、GetUpperBound ()方法;实验Ra
- indexOf() 与 jquery.inArray()
- java indexof 与split
- indexOf与substring
- (算法设计技巧与分析)BinarySearch
- Interpolation Search与BinarySearch的比较
- IndexOf与substring的使用
- sql 中的 indexOf 与 lastIndexOf
- indexOf() lastIndexOf() 与 jQuery.inArray()
- JDK1.6的九大新特性
- Ubuntu上启用X11VNC
- Activity的Launch mode详解 singleTask正解
- [wxWidgets]_[初级]_[自绘窗口最小化点击任务栏图标还原的办法]
- iOS多线程的初步研究(二)-- 锁
- 浅谈indexOf() 与 binarySearch()
- 【Java工程师之路】[2-1.10]Oracle数据库中序列用法讲解
- HEVC学习(二) —— HM的整体结构及一些基本概念
- map的三种遍历
- 关于与单例与采用静态变量引用一个对象的区别
- COJ 2498 - Boggle AC自动机+DFS
- “计算广告学交流会”探讨4大问题
- Ubuntu闪屏和drm出现"forcing panel scaling"问题的解决
- 判断回文 输入字符串 输出是否为回文