В чем разница между ArrayList и List в VB.NET.NET: ArrayList против Список
ответ
ArrayLists по существу устарели, поскольку они нетипизированы - вам нужно использовать приводы с ними - и они медленнее и меньше пространства для типов значений, потому что они требуют, чтобы элементы были в штучной упаковке.
Общие списки были введены с .Net 2.0 и это путь. Часто List лучше, чем массив, с несколькими минусами.
Поскольку эти коллекции являются частью библиотеки базового класса .Net, этот совет также относится к C# и к любому языку .Net, который поддерживает generics - это не относится к VB.NET.
Кроме того, List намного эффективнее с точки зрения использования памяти. См. Http://blogs.msdn.com/b/joshwil/archive/2004/04/13/112598.aspx – PapillonUK 2011-06-20 09:41:49
Список можно использовать дженерики так, что только объекты определенных типов могут быть помещены в него, так что вы можете иметь дополнительные и вы можете сократить время обработки из-за бокса и распаковки. Аррайалист не может этого использовать. Почти во всех случаях вы хотите использовать список, а не Arraylist.
Дженерики были введены с .NEt 2.0, но эти классы существовали и до этого. Есть ли разница в том, как эти классы внутренне написаны. – MOZILLA 2008-12-13 17:51:53
Если не существует другого класса List, о котором я не знаю, это неправильно. Полное пространство имен List - System.Collections.Generic.List, что означает, что оно было специально добавлено для использования с Generics. – Kibbee 2008-12-14 01:53:20
Список является общей реализацией ArrayList. ArrayList хранит все объекты как System.Object, который вам нужен, а затем наносится на соответствующий тип. ArrayLists являются гетерогенными, List может хранить только один тип объектов - этот тип поставляется в качестве его общего параметра.
List<string> strList; // can store only strings
List<int> intList; // can store only ints
ArrayList someList; // can store anything
ArrayList позволяет написать следующее:
Dim customers as new ArrayList
Dim c as new Customer
Dim m as new Manager
customers.Add(c)
customers.Add(m)
'This will cause an exception '
For each c as Customer in customers
console.writeline(c.Name)
Next
Перечня (Клиент) позволяет только объект типа клиента и типов, которые наследуют от клиента, так что вы не можете сделать такие ошибки.
Даже если вам нужно поместить объекты несвязанных типов в одну и ту же коллекцию, List (Of Object) является лучшим выбором, поскольку он делает явным, что вы имеете дело с разными типами.
ArrayLists еще более неэффективны при использовании на 64-битной памяти для хранения примитивных элементов из-за 64-битных ссылок на память в отличие от 32-битных ссылок на 32-битных машинах и бокса.
Смотрите это для более подробной информации: http://blogs.msdn.com/joshwil/archive/2004/04/13/112598.aspx
- 1. Список Java против ArrayList
- 2. Список Perfomance против ArrayList производительности распределения памяти
- 3. Список <String> = новый ArrayList() против ArrayList <>()
- 4. ArrayList против Generic коллекций
- 5. переключатель против ArrayList Java
- 6. Пайтон список постижение против .NET LINQ
- 7. Войти Аутентификация против ArrayList
- 8. Декларация ArrayList против конверсии
- 9. Производительность ArrayList против HashSet
- 10. ArrayList Search .net
- 11. HashSet против ArrayList содержит производительность
- 12. Grails- Назначение связанный домен объектов в список против ArrayList
- 13. .NET - Добавление, на который ссылается переменная для ArrayList против добавления нового объекта() в ArrayList
- 14. Java ArrayList против вектора C++
- 15. «Содержит» реализацию ArrayList против HashSet
- 16. ArrayDeque против ArrayList реализовать стек
- 17. HashMap против ArrayList (160 entrys)
- 18. .NET параллельная обработка ArrayList
- 19. .Net-шаблоны против GOF
- 20. Java против производительности .NET
- 21. ArrayList в Java против списка в Python
- 22. список броска к ArrayList
- 23. ArrayList и список Java
- 24. Java Список ArrayList инициализирующий
- 25. ArrayList итерации определенный список
- 26. Назначения ArrayList в список
- 27. Список часть Arraylist
- 28. .NET Framework SDK против .NET Framework
- 29. Уплотненная для петли, чтобы проверить ArrayList против другого ArrayList
- 30. ArrayList массивов против массива ArrayLists против чего-то подобного
Ссылки на документы: [ `ArrayList`] (http://msdn.microsoft.com/en-us/library/system.collections.arraylist.aspx), [`List`] (http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx) – 2013-05-13 17:13:31