Урок 31. Коллекция List – Devcolibri

Урок 31. Коллекция List

После просмотра видеоверсии урока обязательно изучите текстовый материал. Он дополняет видеоматериал и позволит вам полностью понять тему урока.

Использование обобщённых (generic) типов

Чтобы коллекция могла работать с определённым типом данных лучше использовать конструкцию generic. Пример работы List, который не использует generic:

public class Main {
    public static void main(String[] args) {
        List list = new ArrayList();
        list.add("Temp");
        list.add(1L);
        list.add(new Object());

        Object object = list.get(0);
        String string = (String) object;
    }
}

Если мы не указываем явно тип, с которым работает коллекция, то это равнозначно записи List<Object>. При этом мы теряем все бонусы строго типизированного языка, и дальше в коде это будет создавать лишние проблемы (например, преобразование типа Object в тип String). Поэтому лучше использовать определённый тип для создания любой коллекции. Создавать generic коллекции можно несколькими способами:

    List<Integer> listA = new ArrayList<>();
    List<Integer> listB = new ArrayList<Integer>();

Записи практически одинаковые. Первая запись является краткой, она стала доступна начиная с Java7. Использование второй не будет ошибкой, но лучше избегайте такой записи по возможности. Пример с правильным использованием generic:

public class Main {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<>();
        list.add(1);
        list.remove(0);

        System.out.println(list);
    }
}
Возникли проблемы при прохождении? Напишите нам в чат поддержки Вконтакте или Facebook. Мы поможем вам решить проблему и вы сможете продолжить обучение.
УВИДЕТЬ ВСЕ Добавить заметку
ВЫ
Добавить ваш комментарий