Чем быстрее collection.Insert (0, newItem) против list.Add (newItem) + Сортировка в Winforms ListView C #? - PullRequest
2 голосов
/ 01 февраля 2012

У меня есть ListView, который мне нужно обновить, добавив элемент.Использование .Add() поместит его внизу.Поэтому я могу отсортировать его по времени вставки (это одно из полей).Другой вариант - использовать Collection.Insert(0, newItem), который поместит его на вершину и переместит все вниз на один индекс.

Где-то прочитайте, что Collection.Insert(0, newItem) может быть медленным для больших списков в / в смещения.Если это так - что будет быстрее?Коллекция или Добавить + Сортировать?

или есть другой способ?

Спасибо.

Ответы [ 3 ]

3 голосов
/ 01 февраля 2012

Вставить будет быстрее, чем Добавить + Сортировка, потому что сортировка будет включать ненужные сравнения, если ваш список уже отсортирован.Но, как говорили другие, это, вероятно, не будет иметь большого значения, чтобы заботиться.

2 голосов
/ 01 февраля 2012

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

1 голос
/ 01 февраля 2012

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

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