У цьому підручнику ми дізнаємося про інтерфейс List у Java та його методи.
У Java List
інтерфейс - це впорядкована колекція, яка дозволяє послідовно зберігати та отримувати доступ до елементів. Це розширює Collection
інтерфейс.
Класи, що реалізують список
Оскільки List
це інтерфейс, ми не можемо створювати з нього об'єкти.
Для того, щоб використовувати функціональні можливості List
інтерфейсу, ми можемо використовувати такі класи:
- ArrayList
- LinkedList
- Вектор
- Стек
Ці класи визначені в рамках Collections та реалізують 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
класах детально в наступних підручниках.