Можете ли вы предоставить.Сортированный список заказов NET Collection на основе времени поиска? - PullRequest
4 голосов
/ 19 августа 2011

Я просто ищу в интернете преимущества и недостатки различных коллекций .NET.Я обнаружил следующие пункты

  1. Словарь быстрее, чем List, в контексте поиска значения.
  2. HashSet быстрее, чем List, в контексте поиска значения.
  3. Словарь быстрее, чем Hashtable в контексте поиска значения.Ни один из них не гарантирует сохранение порядка элементов.
  4. Я читал, что Hashset является постом коллекций в .NET

Так что я пришел к следующему отсортированному порядку для коллекций .NET

  1. Hashset
  2. Словарь
  3. Hashtable
  4. Список
  5. ArrayList

Для указанного выше порядка сортировкиЯ использовал следующие ссылки

И помимо вышеуказанного вопроса я нашел несколько полезных ссылок, которыми хочу поделиться

Правильный ли сортированный выше порядок?Если нет, не могли бы вы переставить это?Если кто-то может добавить еще несколько коллекций в порядке сортировки из приведенного выше списка, это будет оценено.

Ответы [ 3 ]

4 голосов
/ 19 августа 2011

Я думаю, что эта статья может быть полезна Основы C # / .NET: Выбор правильного класса сбора

2 голосов
/ 19 августа 2011

Это зависит от , как вы выполняете поиск.Это одна из причин, почему существует так много разных коллекций.Еще одной характеристикой будут операции вставки.

Все коллекции служат определенной цели.Если у вас есть ключ поиска, то Dictionaray<Tkey,Telement> быстрее, чем поиск по List<T> или Hashset<T> (если объект не является ключом).Если у вас есть индекс List<T> быстрее, чем словарь, а массив еще быстрее.

Если при поиске необходимо найти все объекты, которые полностью удовлетворяют заданному требованию.Например, все целые в коллекции целых, где 10

Так что нет никакого установленного порядка, когда дело доходит до производительности поиска.Это зависит от характеристик поиска.

И производительность поиска говорит только часть истории.Набор характеристик должен быть проанализирован как дыра, чтобы найти коллекцию для данной задачи.

  • У вас будет много вставок
  • Как выполняется поиск
  • Требуется ли сортировка

- некоторые из них приходят на ум

0 голосов
/ 19 августа 2011

SortedDictionary также может быть добавлен в список, поскольку он сохраняет элементы в порядке.

Спасибо

...