При объявлении List и назначении его в LinkedList или ArrayList все еще сохраняются различные преимущества в производительности? - PullRequest
0 голосов
/ 30 октября 2019

Возьмите следующие две строки кода:

List<String> listOfStrings = new ArrayList<>();

List<String> listOfStrings2 = new LinkedList<>();

Я понимаю, что это хорошая практика для программирования интерфейсов, однако, как новичок, я пытаюсь понять, так как мы можем только вызвать Listметоды в обоих этих случаях, они все еще "ведут себя" как ArrayList s или LinkedList s (как в случае, когда они выполняют сортировку / добавление и т. п. как их соответствующие классы) *

Ответы [ 2 ]

0 голосов
/ 31 октября 2019

Оба LinkedList и ArrayList реализованы List, Collection, Iterable ... интерфейсы, но они имеют различную реализацию методов (например, add(), remove() и т. Д. Arraylistи LinkedList будет иметь другое поведение / производительность из-за разных реализаций при вызове этих методов).

0 голосов
/ 31 октября 2019

Да, они ведут себя как ArrayList или LinkedList, вы можете использовать это для сохранения большего количества разных списков (или ваших собственных объектов) и вызова разных реализаций методов суперкласса при итерации по массиву.

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