java - 排序列表时在列表中查找值的最佳方法

标签 java algorithm search sorting

假设我有一个已排序的 Java ArrayList。现在我想找到值 x 的索引。最快(不超过 30 行代码)的方法是什么?使用 IndexOf() 方法?在一个简单的 for 循环中遍历所有值?使用一些很酷的算法?我们谈论的是大约 50 个整数键。

最佳答案

Binary search ,但因为它只有 50 项,谁在乎(除非你必须这样做数百万次)?简单的线性搜索更简单,50 个项目的性能差异可以忽略不计。

编辑:您还可以使用内置的 java.util.Collections binarySearch方法。请注意,即使找不到该项目,它也会返回一个插入点。您可能需要进行额外的几项检查,以确保该元素确实是您想要的。感谢@Matthew 的指点。

关于java - 排序列表时在列表中查找值的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/901546/

相关文章:

java - 在 Lotus Notes Xpages 按钮单击中调用 Java MVC View 方法时出错

java - Android/Java - 将 int 值从方程转换为 double

java - 是否可以类型转换为父抽象类?

java - 快速排序比 Java 中的插入排序和选择排序慢多少?

algorithm - 就内存而言,二叉搜索树与哈希表

search - Endeca 是否有任何漏洞或设施不可用?

使用 mysql 的书籍数据库的 php 搜索脚本

java - 如何使用需要 2 个参数且仅其中一个参数存储在列表中的查询进行批量更新

objective-c - 在不相交的集合数据结构中实现路径压缩?

java - 使用 objectID 对嵌套对象进行 MongoDB java 驱动程序查询不起作用