Разница между списком и ArrayList в Java
- 2019
Прелюбодеяние в ка�…
Please enable JavaScript
Прелюбодеяние в католической церкви — это интерфейс, а ArrayList — это класс. Давайте изучим разницу между List и ArrayList с помощью сравнительной таблицы, показанной ниже.Сравнительная таблица
Основа для сравнения | Список | ArrayList |
---|---|---|
основной | Список — это интерфейс | ArrayList — это стандартный класс Collection. |
Синтаксис | Список интерфейсов | класс ArrayList |
Продлить / Реализовать | Интерфейс списка расширяет Collection Framework. | ArrayList расширяет AbstractList и реализует интерфейс List. |
Пространство имен | System.Collections.Generic. | System.Collections. |
Работа | Он используется для создания списка элементов (объектов), связанных с их индексами. | ArrayList используется для создания динамического массива, который содержит объекты. |
Определение списка
List — это интерфейс, расширяющий структуру Collection . Интерфейс списка описывает набор элементов, которые расположены последовательно. Интерфейс списка реализуется следующими стандартными классами коллекции, такими как ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack . Интерфейс списка имеет элементы, связанные с их индексами. Вы можете получить доступ к элементу в списке по его позиции (индексу) в списке. Список, созданный с использованием интерфейса List, начинается с индекса, начинающегося с нуля.
В дополнение к методам, унаследованным платформой Collection, интерфейс List также определяет собственный метод. Методы, добавленные интерфейсом List: add (int, E) и addAll (int, Collection) . Эти методы добавляют элемент в список по индексу. Методы внутри списка могут вызвать исключение, например UnsupportedOperationException, если метод не может изменить список. Когда один объект в списке несовместим с другим объектом в списке, тогда выбрасывается ClassCastException. В списке не допускаются пустые элементы, если вы пытаетесь вставить нулевой объект в список, выбрасывается NullPointerException .
Вы можете получить элемент из списка, используя метод get () . Вы можете установить значение элемента в списке, используя метод set () . Вы также можете получить список из списка, используя метод sublist () . Становится удобным работать с подсписком вместо списка.
Определение ArrayList
Одним из стандартных классов Collection является ArrayList, который расширяет класс AbstractList, а также реализует интерфейс List . Класс ArrayList используется для создания динамических массивов, которые растут и сжимаются при необходимости. Список, созданный с использованием класса ArrayList, представляет собой не что иное, как массив объектов. В Java стандартный массив имеет фиксированную длину, поэтому вы должны знать размер массива заранее. Но, возможно, вы не знаете, какая длина массива вам нужна до времени выполнения. Следовательно, платформа Framework представила класс ArrayList для преодоления этой проблемы.
ArrayList имеет конструкторы, которые создают массив с его начальной емкостью. Хотя емкость объекта класса ArrayList увеличивается автоматически при добавлении элементов в массив, тем не менее вы можете вручную увеличить емкость объекта ArrayList с помощью метода sureCapacity () . Лучше изначально увеличить емкость массива, а не перераспределять память позже. Потому что перераспределение обходится дороже, чем выделение памяти сразу.
- Одним из наиболее важных различий между List и ArrayList является то, что list является интерфейсом, а ArrayList является стандартным классом Collection.
- Интерфейс List расширяет платформу Collection, тогда как ArrayList расширяет класс AbstractList и реализует интерфейсы List .
- Пространство имен для интерфейса List — System.Collection.Generic, тогда как пространство имен для ArrayList — System.Collection .
- Интерфейс списка создает коллекцию элементов, которые хранятся в последовательности и идентифицируются или доступны по их номеру индекса. С другой стороны, ArrayList создает массив объектов, где массив может динамически увеличиваться при необходимости.
Заключение:
ArrayList устраняет проблему статического массива в стандартной Java, т. е. массив не может увеличиваться в размере после его создания. Когда массив создается с использованием ArrayList, создается динамический массив, который может увеличиваться и уменьшаться в размере по мере необходимости. Стандартный класс Collection ArrayList расширяет интерфейс List.
Документация JDK 20 — Главная
- Главная
- Ява
- 20
Обзор
- Прочтите меня
- Примечания к выпуску
- Что нового
- Руководство по миграции
- Руководство по установке
- Формат строки версии
Инструменты
- Технические характеристики инструментов JDK
- Руководство по JavaDoc
- Руководство пользователя средства упаковки
Язык и библиотеки
- Обновления языка
- HTTP-клиент JDK
- Учебники по Java
- Модульный JDK
- Руководство программиста API бортового регистратора
- Руководство по интернационализации
Технические характеристики
- Документация API
- Язык и ВМ
- Имена стандартных алгоритмов безопасности Java
- банок
- Собственный интерфейс Java (JNI)
- Инструментальный интерфейс JVM (JVM TI)
- Сериализация
- Проводной протокол отладки Java (JDWP)
- Спецификация комментариев к документации для стандартного доклета
- Прочие характеристики
Безопасность
- Руководство по безопасному кодированию
- Руководство по безопасности
Виртуальная машина HotSpot
- Руководство по виртуальной машине Java
- Настройка сборки мусора
Управление и устранение неполадок
- Руководство по устранению неполадок
- Руководство по мониторингу и управлению
Client Technologies
- Руководство по специальным возможностям Java