Чем отличается List от ArrayList?

Ответ

List — интерфейс, ArrayList — реализация. Правило: писать переменные через интерфейс — List<String> list = new ArrayList<>(); — чтобы потом можно было сменить реализацию без правок остального кода.

Разбор: List — это интерфейс, ArrayList — его конкретная реализация на динамическом массиве; объявление через интерфейс (List<String> l = new ArrayList<>()) позволяет легко сменить реализацию. Ловушка: List не абстрактный класс, не гарантирует уникальность (это Set) и сам не задаёт структуру хранения — связный список это уже LinkedList.

Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.

Заказать гайд Пройти тест
новые гайды и свежие вопросы с собесов — первыми в Telegram Смотреть гайды Подписаться