Страницы

Поиск по вопросам

понедельник, 26 ноября 2018 г.

Collection и ArrayList в Java

В чём преимущество такой записи:
Collection collection = new ArrayList();
перед такой:
ArrayList collection = new ArrayList();
Ведь мы теряем уникальные методы ArrayList в 1-ом варианте?


Ответ

Ведь мы теряем уникальные методы ArrayList в 1-ом варианте?
Нет не теряете. В обоих вариантах вы создаете обьект ArrayList. Разница заключается в том, что используя 1-ый вариант вы можете делать так:
collection = new LinkedList(); collection = new HashSet();
и т.д (то есть, если в будущем Вы поймете что порядок элементов для Вас не важен и, следовательно, захотите использовать HashSet вместо ArrayList Вам нужно будет изменить меньше кода). Если говорить конкретнее, то в 1-ом варианте Вы указываете, что переменная с именем collection имеет тип Collection. Так как Collection это интерфейс, который реализовуют все коллекции, то Вы можете сослаться на любую коллекцию.

Комментариев нет:

Отправить комментарий