Java Vector: Как узнать потенциальный индекс элемента - PullRequest
2 голосов
/ 28 октября 2010

Я хотел бы сделать следующее в Java: у меня есть элемент, и я хотел бы знать, каким будет его индекс, если он будет вставлен в коллекцию других объектов (учитывая, что они уже отсортированы).

Так что, если у меня есть такой вектор целых чисел: 1,3,5,7,9, и у меня в руке int '2', я бы знал, что его «потенциальный» индекс равенi = 1, между значениями 1 и 3.

1 Ответ

5 голосов
/ 28 октября 2010
// 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, если и только если ключ найден.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...