На нашем сайте мы используем 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, коллекции








Смартфон с функцией LTE-A и скорость интернета
Возможные проблемы при подключении к Firebird из Visual Studio


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