Java Vector:如何找出项目的可能索引

时间:2010-10-28 18:04:26

标签: java eclipse vector

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

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

1 个答案:

答案 0 :(得分:5)

// assumes vector is sorted
// and that vector does not yet contain searchedObject
insertionPoint = -1 * Collections.binarySearch(vector,searchedObject) - 1;

Collections.binarySearch()州的定义

<强>返回:

搜索键的

索引,如果它包含在列表中;否则,( - (插入点) - 1)。插入点定义为键将插入列表的点:第一个元素的索引大于键,或list.size(),如果列表中的所有元素都小于指定的键。请注意,当且仅当找到密钥时,这可以保证返回值>> =。