![]() |
Коллекции Java: введениеЯзык Java поддерживает массивы для хранения нескольких объектов. Массив инициализируется с предопределенным размером во время создания экземпляра. Для поддержки более гибких структур данных существуют коллекции. Коллекция - это структура данных, которая содержит и обрабатывает набор данных. Данные, хранящиеся в коллекции, инкапсулируются, и доступ к данным возможен только с помощью предопределенных методов. Например, разработчик может добавлять элементы в коллекцию с помощью метода. Коллекции используют внутренние массивы для хранения данных, но скрывают сложность управления динамическим размером от разработчика. Например, если ваше приложение сохраняет данные в объект типа People, вы можете хранить несколько People объектов в коллекции. Типичные коллекции: стеки, очереди, списки и деревья. Java обычно предоставляет интерфейс, например List и одну или несколько реализаций для этого интерфейса, например, ArrayList класс и LinkedList реализуют интерфейс List. Класс или интерфейс, объявление которого имеет один или несколько параметров типа, является универсальным классом или интерфейсом. Например, List определяет один параметр типа List<E>. Коллекции Java должны быть параметризованы с объявлением типа. Это позволяет компилятору Java проверять, если вы попытаетесь использовать коллекции с неправильным типом объектов. Универсальные шаблоны позволяют типу или методу работать с объектами различных типов, обеспечивая при этом безопасность типов во время компиляции. Перед универсальными шаблонами необходимо привести каждый объект, считанный из коллекции, и если бы вы вставили объект неправильного типа в коллекцию, вы создали бы исключение среды выполнения. Библиотека коллекции поддерживает лямбда-выражения. Операции над коллекциями в значительной степени упрощают работу с ними. В следующем коде показан пример создания коллекции типа List, которая параметризуется import java.util.*; public class MyArrayList { public static void main(String[] args) { // Создаем list List<String> list = Arrays.asList("Yuriy", "Tanya"); // Или вот так List<String> anotherList = new ArrayList<>(); anotherList.add("Yuriy"); anotherList.add("Tanya"); // выводим каждый элемент на консоль с помощью ссылок на методы list.forEach(System.out::println); anotherList.forEach(System.out::println); } }Если вы попытаетесь поместить объект в этот список, который не является String, то получится ошибка компиляции. /MyArrayList.java:5: error: incompatible types: inference variable T has incompatible bounds List<String> list = Arrays.asList("Yuriy", 3); ^ equality constraints: String lower bounds: Integer,String where T is a type-variable: T extends Object declared in method <T>asList(T...) 1 error ![]() Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда. ![]() |
Мои услуги
|
© upread.ru 2013-2022 При перепечатке активная ссылка на сайт обязательна. |