#java #коллекции
Встречаю различные варианты декларирования коллекций: Listlist = new ArrayList (); //1 List list = new ArrayList (); // 2 List list = new ArrayList(); //3 И совершенно нет ясности, какие объекты в какую коллекцию можно положить. Экспериментально выяснил, что в коллекцию 2 - можно добавить объекты (Object). А в коллекцию 3 - только с типом Integer. Вопрос 1: как понять по декларированию, какие объекты может содержать коллекция? Вопрос 2: для каких прикладных задач можно использовать первый, второй и третий вариант декларирования коллекций?
Ответы
Ответ 1
quizful.net/post/Java-Collections - о Коллекциях в Java. quizful.net/post/java-generics-tutorial - Дженерики. Ключ к пониманию коллекций. По вопросу 1: Тот тип, что в угловых скобках <> - должен быть у объектов, которые может вмещать коллекция. По вопросу 2: 1 и 3 - используем, когда нужно хранить изменяемый по вместимости массив целых чисел. 2 - когда нужно оперировать с коллекциями, которые могут содержать разные типы данных. Т.е. мы можем под list иметь как коллекцию целых, так и коллекцию строк или коллекцию коллекций. Про интерфейсы (в ООП или в Java в частности) рекомендую почитать в первую очередь. И про модель организации данных в памяти компьютера. Если кратко, то все классы в Java - наследники класса Object. Интерфейс List определён как public interface Listextends Collection (см. docs.oracle.com/javase/8/docs/api/java/util/List.html). Объявление List list можно читать как List
Комментариев нет:
Отправить комментарий