В этом руководстве мы узнаем об интерфейсе List в Java и его методах.
В Java List
интерфейс представляет собой упорядоченную коллекцию, которая позволяет нам сохранять элементы и получать к ним доступ последовательно. Расширяет Collection
интерфейс.
Классы, реализующие список
Поскольку List
это интерфейс, мы не можем создавать из него объекты.
Чтобы использовать функции List
интерфейса, мы можем использовать эти классы:
- ArrayList
- LinkedList
- Вектор
- Стек
Эти классы определены в структуре коллекций и реализуют List
интерфейс.
Как пользоваться списком?
В Java мы должны импортировать java.util.List
пакет, чтобы использовать List
.
// ArrayList implementation of List List list1 = new ArrayList(); // LinkedList implementation of List List list2 = new LinkedList();
Здесь мы создали объекты list1 и list2 классов ArrayList
и LinkedList
. Эти объекты могут использовать функции List
интерфейса.
Методы списка
List
Интерфейс включает в себя все методы Collection
интерфейса. Потому что Collection
это супер-интерфейс List
.
Некоторые из часто используемых методов Collection
интерфейса, которые также доступны в List
интерфейсе:
add()
- добавляет элемент в списокaddAll()
- добавляет все элементы одного списка в другойget()
- помогает получить произвольный доступ к элементам из списковiterator()
- возвращает объект-итератор, который можно использовать для последовательного доступа к элементам списковset()
- изменяет элементы списковremove()
- удаляет элемент из спискаremoveAll()
- удаляет все элементы из спискаclear()
- удаляет все элементы из списка (эффективнееremoveAll()
)size()
- возвращает длину списковtoArray()
- конвертирует список в массивcontains()
- возвращает,true
если список содержит указанный элемент
Реализация интерфейса списка
1. Реализация класса ArrayList
import java.util.List; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating list using the ArrayList class List numbers = new ArrayList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Вывод
Список: (1, 2, 3) Доступный элемент: 3 Удаленный элемент: 2
Чтобы узнать больше ArrayList
, посетите Java ArrayList.
2. Реализация класса LinkedList
import java.util.List; import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating list using the LinkedList class List numbers = new LinkedList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Using the indexOf() method int index = numbers.indexOf(2); System.out.println("Position of 3 is " + index); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Вывод
Список: (1, 2, 3) Доступный элемент: 3 Позиция 3 - 1 Удаленный элемент: 2
Чтобы узнать больше LinkedList
, посетите Java LinkedList.
Список Java против набора
И List
интерфейс, и Set
интерфейс наследуют Collection
интерфейс. Однако между ними есть разница.
- Списки могут включать повторяющиеся элементы. Однако в наборах не может быть повторяющихся элементов.
- Элементы в списках хранятся в определенном порядке. Однако элементы в наборах хранятся в группах, как наборы в математике.
Теперь, когда мы знаем, что это List
такое, мы подробно рассмотрим его реализации ArrayList
и LinkedList
классы в следующих руководствах.