В този урок ще научим за интерфейса 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
И List
интерфейсът, и Set
интерфейсът наследяват Collection
интерфейса. Между тях обаче има известна разлика.
- Списъците могат да включват дублиращи се елементи. Наборите обаче не могат да имат дублиращи се елементи.
- Елементите в списъците се съхраняват в някакъв ред. Елементите в множествата обаче се съхраняват в групи като множества в математиката.
Сега, когато знаем какво List
е, ще видим неговите внедрения в ArrayList
и LinkedList
класове в детайли в следващите уроци.