Интерфейс списка Java

В этом руководстве мы узнаем об интерфейсе 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классы в следующих руководствах.

Интересные статьи...