На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Коллекции Java: введение


Язык Java поддерживает массивы для хранения нескольких объектов. Массив инициализируется с предопределенным размером во время создания экземпляра. Для поддержки более гибких структур данных существуют коллекции. Коллекция - это структура данных, которая содержит и обрабатывает набор данных. Данные, хранящиеся в коллекции, инкапсулируются, и доступ к данным возможен только с помощью предопределенных методов. Например, разработчик может добавлять элементы в коллекцию с помощью метода. Коллекции используют внутренние массивы для хранения данных, но скрывают сложность управления динамическим размером от разработчика.

Например, если ваше приложение сохраняет данные в объект типа People, вы можете хранить несколько People объектов в коллекции.

Типичные коллекции: стеки, очереди, списки и деревья.

Java обычно предоставляет интерфейс, например List и одну или несколько реализаций для этого интерфейса, например, ArrayList класс и LinkedList реализуют интерфейс List.

Класс или интерфейс, объявление которого имеет один или несколько параметров типа, является универсальным классом или интерфейсом. Например, List определяет один параметр типа List<E>.

Коллекции Java должны быть параметризованы с объявлением типа. Это позволяет компилятору Java проверять, если вы попытаетесь использовать коллекции с неправильным типом объектов. Универсальные шаблоны позволяют типу или методу работать с объектами различных типов, обеспечивая при этом безопасность типов во время компиляции. Перед универсальными шаблонами необходимо привести каждый объект, считанный из коллекции, и если бы вы вставили объект неправильного типа в коллекцию, вы создали бы исключение среды выполнения.

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

В следующем коде показан пример создания коллекции типа List, которая параметризуется чтобы указать компилятору Java, что только String разрешены в этом списке. Используется ссылка на метод и foreach цикл от Java 8.

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, коллекции





Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Кодирование Base64 и C#
Программа "Запомни домино" - тренировка внимания с помощью домино


© upread.ru 2013-2019
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.