На этом уроке мы сравним скорость работы коллекций ArrayList и LinkedList. Будем тестировать время добавления и извлечения элементов.
Самостоятельное задание: Сравнить скорость удаления и поиска элементов.
Дата отправки отчёта:
3 сентября 2018 г.
Задание выполнено: за
1 час. 28 мин.
Чему научился:
Не стал придумывать велосипед и использовал стандартный класс Stopwatch(), который находится в пространстве имен System.Diagnostic; - им и "замерял" время выполнение методов коллекций. Кроме того, есть существенные отличия между классами коллекций Java и C#. Например, ArrayList in C# не может быть обобщенным - чуть ли не единственный из классов списков, все остальные списки имеют двойников в пространстве имен System.Collections.Generic; Кроме того, метод Add() ArrayList() имеет только один параметр, который добавляет объект в конец очереди и выбирать ему место нельзя как в Java. В тоже время при использовании коллекции LinkedList() в С#, нельзя использовать просто метод Add() - его не существует, нужно указывать куда: AddLast(), AddFirst(), AddAfter(), AddBefore() и т.д.
И в моем случае ArrayList отрабатывает намного быстрее, чем LinkedList(), потому как первый просто "тулит" объекты все подряд, а второй, выбирает куда их вставить - думаю именно поэтому