Словарь против ArrayList - PullRequest
2 голосов
/ 22 апреля 2010

При добавлении данных в коллекцию, какую практику лучше использовать, и что влияет на производительность, если мы используем Dictionary vs ArrayList и почему?

Ответы [ 2 ]

3 голосов
/ 22 апреля 2010

Вы вообще не должны использовать ArrayList вообще, так как у вас есть строго напечатанный List<T> для использования.

То, что вы используете, зависит от того, как вам нужен доступ к данным. Список хранит последовательный список элементов, в то время как словарь хранит элементы, идентифицированные ключом. (Вы все еще можете читать элементы из Словаря последовательно, но порядок не сохраняется.)

Производительность практически одинакова, оба используют внутренние массивы для хранения фактических данных. Когда они достигают своей емкости, они выделяют новый больший массив и копируют в него данные. Если вы знаете, насколько большой будет коллекция, вы должны указать емкость при ее создании, чтобы она не изменяла свой размер.

1 голос
/ 22 апреля 2010

Они не являются взаимозаменяемыми классами.Яблоки и апельсины.Если вы собираетесь искать элементы в коллекции по ключу, используйте Dictionary.В противном случае используйте ArrayList (или предпочтительно List<T>)

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