English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве мы будем изучать интерфейс List и его методы в Java.
В Java интерфейс List является упорядоченной коллекцией, которая позволяет нам хранить и обращаться к элементам по порядку. Он расширяет интерфейс коллекции.
Поскольку List является интерфейсом, из него нельзя создать объект.
Чтобы использовать функции интерфейса List, мы можем использовать следующие классы:
Эти классы определены и реализованы в рамке Collections и интерфейс List.
В Java необходимо импортировать пакет java.util.List, чтобы использовать List.
// Реализация ArrayList для List List<String> list1 = new ArrayList<>(); // Реализация LinkedList для List List<String> list2 = new LinkedList<>();
Здесь мы уже создали объекты classes ArrayList и LinkedList list1 и list2. Теперь эти объекты могут использовать функции интерфейса 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) { // создание списка с использованием класса ArrayList List<Integer> numbers = new ArrayList<>(); // добавление элемента в список numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("Список: " + numbers); // доступ к элементу из списка int number = numbers.get(2); System.out.println("Доступ к элементу: " + number); // из списка удаляется элемент int removedNumber = numbers.remove(1); System.out.println("Удаление элемента: " + removedNumber); } }
Результат вывода
List: [1, 2, 3] Доступ к элементу: 3 Удаление элемента: 2
Для получения дополнительной информации о ArrayList, пожалуйста, обратитесь кArrayList Java.
2. Реализация класса LinkedList
import java.util.List; import java.util.LinkedList; class Main { public static void main(String[] args) { // создание списка с использованием класса LinkedList List<Integer> numbers = new LinkedList<>(); // добавление элемента в список numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("Список: " + numbers); // доступ к элементу из списка int number = numbers.get(2); System.out.println("Доступ к элементу: " + number); // использование метода indexOf() int index = numbers.indexOf(2); System.out.println("Элемент на позиции 3: " + index); // из списка удаляется элемент int removedNumber = numbers.remove(1); System.out.println("Удаление элемента: " + removedNumber); } }
Результат вывода
List: [1, 2, 3] Доступ к элементу: 3 Элемент на позиции 3: 1 Удаление элемента: 2
Для получения дополнительной информации о LinkedList, пожалуйста, посетитеJava LinkedList.
Интерфейсы List и Set наследуют интерфейс Collection. Но между ними есть некоторые различия.
List может содержать повторяющиеся элементы. Но Set не может иметь повторяющихся элементов.
Элементы List хранятся в определенном порядке. Но элементы Set хранятся группами, как в математике, так и в集合ах.
Теперь мы знаем, что такое List, и в следующих уроках мы подробно рассмотрим реализацию классов ArrayList и LinkedList.