代码之家  ›  专栏  ›  技术社区  ›  Orca

Java向量:如何查找项目的潜在索引

  •  2
  • Orca  · 技术社区  · 15 年前

    我想在Java中做以下操作:我有一个元素,我想知道它被插入到其他对象集合中的索引是什么(如果它们已经排序了)。

    所以如果我有一个这样的向量: 1、3、5、7、9 我手里拿着int‘2’,我知道它的‘未来’索引是i=1,介于1和3之间。

    1 回复  |  直到 15 年前
        1
  •  5
  •   Peter Knego    15 年前
    // assumes vector is sorted
    // and that vector does not yet contain searchedObject
    insertionPoint = -1 * Collections.binarySearch(vector,searchedObject) - 1;
    

    定义 Collections.binarySearch() 状态

    返回:

    搜索键的索引(如果它包含在列表中);否则,(-(插入点)-1)。插入点被定义为将键插入到列表中的点:如果列表中的所有元素都小于指定键,则第一个元素的索引大于键,或者list.size()。请注意,这保证了只有在找到键的情况下,返回值才会>=0。