Список в Java надає можливість підтримувати замовлена колекція . Він містить методи на основі індексів для вставки, оновлення, видалення та пошуку елементів. Він також може мати повторювані елементи. Ми також можемо зберігати нульові елементи в списку.
Інтерфейс списку знаходиться вjava.utilпакет і успадковує інтерфейс Collection. Це фабрика інтерфейсу ListIterator. За допомогою ListIterator ми можемо ітерувати список у прямому та зворотному напрямках. Класи реалізації інтерфейсу List єArrayList,LinkedList, стек і вектор. ArrayList і LinkedList широко використовуються в програмуванні на Java. Клас Vector застарів з Java 5.
Оголошення інтерфейсу списку
public interface List extends Collection
Методи списку Java
метод | опис | |
---|---|---|
void add(int index, E element) | Він використовується, щоб вставити вказаний елемент у вказану позицію в списку. | |
логічне додавання (E e) | Він використовується для додавання зазначеного елемента в кінець списку. | |
логічне значення addAll(Collection c) | Він використовується для додавання всіх елементів у вказаній колекції в кінець списку. | |
boolean addAll(int index, Collection c) | Він використовується для додавання всіх елементів у вказану колекцію, починаючи з зазначеної позиції списку. | |
void clear() | Він використовується для видалення всіх елементів із цього списку. | |
логічне дорівнює (об'єкт o) | Використовується для порівняння зазначеного об’єкта з елементами списку. | |
int hashcode() | Він використовується для повернення значення хеш-коду для списку. | |
E get(int index) | Він використовується для отримання елемента з певної позиції списку. | |
логічне isEmpty() | Він повертає true, якщо список порожній, інакше повертає false. | |
int lastIndexOf(Object o) | Він використовується для повернення індексу в цьому списку останнього входження зазначеного елемента або -1, якщо список не містить цього елемента. | |
Object[] toArray() | Він використовується для повернення масиву, що містить усі елементи цього списку в правильному порядку. | |
T[] toArray(T[] a) | Він використовується для повернення масиву, що містить усі елементи цього списку в правильному порядку. | |
логічний містить (об'єкт o) | Він повертає true, якщо список містить вказаний елемент | |
логічне міститьВсе(Колекція c) | Він повертає true, якщо список містить усі вказані елементи | |
int indexOf(Object o) | Він використовується для повернення індексу в цьому списку першого входження зазначеного елемента або -1, якщо список не містить цього елемента. | |
E видалити (індекс) | Він використовується для видалення елемента, який знаходиться на вказаній позиції у списку. | |
логічне видалення (об'єкт o) | Він використовується для видалення першого входження зазначеного елемента. | |
логічне значення removeAll(Collection c) | Використовується для видалення всіх елементів зі списку. | |
void replaceAll (оператор UnaryOperator) | Використовується для заміни всіх елементів зі списку вказаним елементом. | |
void retainAll(Collection c) | Він використовується для збереження всіх елементів у списку, присутніх у вказаній колекції. | |
E set(int index, E element) | Використовується для заміни зазначеного елемента в списку, присутнього на вказаній позиції. | |
void сортування (компаратор c) | Використовується для сортування елементів списку на основі заданого компаратора. | |
Spliterator spliterator() | Він використовується для створення роздільника над елементами в списку. | |
List subList(int fromIndex, int toIndex) | Він використовується для отримання всіх елементів, що знаходяться в заданому діапазоні. | |
int size() | Він використовується для повернення кількості елементів у списку. |
Список Java проти ArrayList
List — це інтерфейс, тоді як ArrayList — це клас реалізації List.
Як створити список
Класи ArrayList і LinkedList забезпечують реалізацію інтерфейсу List. Давайте розглянемо приклади створення списку:
//Creating a List of type String using ArrayList List list=new ArrayList(); //Creating a List of type Integer using ArrayList List list=new ArrayList(); //Creating a List of type Book using ArrayList List list=new ArrayList(); //Creating a List of type String using LinkedList List list=new LinkedList();
Коротше кажучи, ви можете створити список будь-якого типу. Для визначення типу використовуються класи ArrayList і LinkedList. Тут T позначає тип.
Приклад списку Java
Давайте розглянемо простий приклад List, де ми використовуємо клас ArrayList як реалізацію.
import java.util.*; public class ListExample1{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } }Перевірте зараз
Вихід:
Mango Apple Banana Grapes
Як перетворити масив на список
Ми можемо перетворити масив на список, обійшовши масив і додавши елемент до списку один за одним за допомогою методу list.add(). Розглянемо простий приклад перетворення елементів масиву в список.
import java.util.*; public class ArrayToListExample{ public static void main(String args[]){ //Creating Array String[] array={'Java','Python','PHP','C++'}; System.out.println('Printing Array: '+Arrays.toString(array)); //Converting Array to List List list=new ArrayList(); for(String lang:array){ list.add(lang); } System.out.println('Printing List: '+list); } }Перевірте зараз
Вихід:
Printing Array: [Java, Python, PHP, C++] Printing List: [Java, Python, PHP, C++]
Як перетворити список на масив
Ми можемо перетворити список на масив, викликавши метод list.toArray(). Давайте розглянемо простий приклад перетворення елементів списку в масив.
Завантажити xvideoservicethief ubuntu 14.04
import java.util.*; public class ListToArrayExample{ public static void main(String args[]){ List fruitList = new ArrayList(); fruitList.add('Mango'); fruitList.add('Banana'); fruitList.add('Apple'); fruitList.add('Strawberry'); //Converting ArrayList to Array String[] array = fruitList.toArray(new String[fruitList.size()]); System.out.println('Printing Array: '+Arrays.toString(array)); System.out.println('Printing List: '+fruitList); } }Перевірте зараз
Вихід:
Printing Array: [Mango, Banana, Apple, Strawberry] Printing List: [Mango, Banana, Apple, Strawberry]
Отримати та встановити елемент у списку
The метод get(). повертає елемент із заданим індексом, тоді як метод set(). змінює або замінює елемент.
import java.util.*; public class ListExample2{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //accessing the element System.out.println('Returning element: '+list.get(1));//it will return the 2nd element, because index starts from 0 //changing the element list.set(1,'Dates'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } }Перевірте зараз
Вихід:
Returning element: Apple Mango Dates Banana Grapes
Як сортувати список
Існують різні способи сортування списку, тут ми будемо використовувати метод Collections.sort() для сортування елемента списку. The java.util Пакет забезпечує клас корисності Колекції який має статичний метод sort(). Використовуючи Collections.sort() ми можемо легко відсортувати будь-який список.
import java.util.*; class SortArrayList{ public static void main(String args[]){ //Creating a list of fruits List list1=new ArrayList(); list1.add('Mango'); list1.add('Apple'); list1.add('Banana'); list1.add('Grapes'); //Sorting the list Collections.sort(list1); //Traversing list through the for-each loop for(String fruit:list1) System.out.println(fruit); System.out.println('Sorting numbers...'); //Creating a list of numbers List list2=new ArrayList(); list2.add(21); list2.add(11); list2.add(51); list2.add(1); //Sorting the list Collections.sort(list2); //Traversing list through the for-each loop for(Integer number:list2) System.out.println(number); } }
Вихід:
Apple Banana Grapes Mango Sorting numbers... 1 11 21 51
Інтерфейс Java ListIterator
Інтерфейс ListIterator використовується для обходу елемента вперед і назад.
Оголошення інтерфейсу ListIterator
public interface ListIterator extends Iterator
Методи інтерфейсу Java ListIterator:
метод | опис |
---|---|
недійсне додавання (E e) | Цей метод вставляє вказаний елемент у список. |
логічний hasNext() | Цей метод повертає true, якщо ітератор списку має більше елементів під час обходу списку в прямому напрямку. |
E наступний() | Цей метод повертає наступний елемент у списку та переміщує курсор вперед. |
int nextIndex() | Цей метод повертає індекс елемента, який буде повернуто наступним викликом next() |
логічний hasPrevious() | Цей метод повертає true, якщо цей ітератор списку має більше елементів під час обходу списку у зворотному напрямку. |
E попередній() | Цей метод повертає попередній елемент у списку та переміщує позицію курсору назад. |
E попереднійіндекс() | Цей метод повертає індекс елемента, який буде повернуто наступним викликом попереднього(). |
void remove() | Цей метод видаляє останній елемент зі списку, який було повернуто методами next() або previous(). |
порожній набір (E e) | Цей метод замінює останній елемент, повернутий методами next() або previous(), на вказаний елемент. |
Приклад інтерфейсу ListIterator
import java.util.*; public class ListIteratorExample1{ public static void main(String args[]){ List al=new ArrayList(); al.add('Amit'); al.add('Vijay'); al.add('Kumar'); al.add(1,'Sachin'); ListIterator itr=al.listIterator(); System.out.println('Traversing elements in forward direction'); while(itr.hasNext()){ System.out.println('index:'+itr.nextIndex()+' value:'+itr.next()); } System.out.println('Traversing elements in backward direction'); while(itr.hasPrevious()){ System.out.println('index:'+itr.previousIndex()+' value:'+itr.previous()); } } }
Вихід:
Traversing elements in forward direction index:0 value:Amit index:1 value:Sachin index:2 value:Vijay index:3 value:Kumar Traversing elements in backward direction index:3 value:Kumar index:2 value:Vijay index:1 value:Sachin index:0 value:Amit
Приклад списку: Книга
Давайте розглянемо приклад списку, де ми додаємо книги.
import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class ListExample5 { public static void main(String[] args) { //Creating list of Books List list=new ArrayList(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications and Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to list list.add(b1); list.add(b2); list.add(b3); //Traversing list for(Book b:list){ System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } }Перевірте зараз
Вихід:
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications and Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6
Пов'язані теми
лямбда-функція java
Різниця між ArrayList і LinkedList
Коли використовувати ArrayList і LinkedList у Java
Різниця між ArrayList і Vector
Як порівняти два ArrayList в Java
Як змінити ArrayList у Java
Коли використовувати ArrayList і LinkedList у Java
Як зробити ArrayList лише для читання
Різниця між довжиною масиву та size() ArrayList у Java
Як синхронізувати ArrayList у Java
Як перетворити ArrayList на Array і Array на ArrayList у java
Array проти ArrayList у Java
що таке s у python
Як відсортувати Java ArrayList у порядку спадання
Як видалити дублікати з ArrayList у Java