Является ли HashMap лучшим выбором? - PullRequest
0 голосов
/ 24 марта 2011

Этот вопрос касается использования наиболее эффективной структуры данных для части унипроекта. Я должен хранить несколько объектов инструкций в структуре данных. Каждая инструкция имеет уникальный идентификатор int, называемый Stage. Является ли HashMap лучшим выбором, чтобы быстро найти нужную мне инструкцию? Я не использовал ее раньше, но из описания кажется, что использование int ID в качестве ключа сделает эту работу эффективной. Если вы можете, пожалуйста, предложите более эффективный способ сделать это. Спасибо

Ответы [ 5 ]

2 голосов
/ 24 марта 2011

Да.Какой-то вид Map представляется предпочтительной структурой данных в вашем сценарии.

Обратите внимание, что HashMap не поддерживает порядок своих элементов,Если порядок важен для вас, я предлагаю вам использовать LinkedHashMap (или, возможно, даже некоторую структуру List).

2 голосов
/ 24 марта 2011

Если вы хотите только искать записи, а не добавлять / удалять, перемещать, сортировать или делать что-либо еще,

, тогда массив является самой быстрой структурой данных для этого

0 голосов
/ 24 марта 2011

Если идентификаторы - это просто целые числа, а они равны 0,1,2..n, тогда массив будет лучшим выбором.

0 голосов
/ 24 марта 2011

Если вы знаете домен ключей, Arraylist или обычный массив могут быть еще более эффективными. Но есть причины не использовать слишком много простых массивов.

0 голосов
/ 24 марта 2011

Я думаю, что это лучший способ, потому что таким образом вы можете получить доступ к таблице в O (1).Зависит также от типа ваших идентификаторов, может быть, достаточно массива (и даже более эффективного), но обычно хеш-таблица более гибкая для этих целей.

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