java list methods sort list
Цей підручник пояснює різні методи списку Java, такі як Список сортування, Список містить, Список Додати, Видалити список, Розмір списку, Додати всі, Видалити всі, Зворотний список та багато іншого:
Ми вже обговорювали інтерфейс списку загалом у нашому попередньому уроці. Інтерфейс списку має різні методи, які використовуються для маніпулювання вмістом списку. За допомогою цих методів ви можете вставляти / видаляти, сортувати та шукати елементи у списку.
У цьому підручнику ми обговоримо всі методи, які надає інтерфейс списку.
=> Познайомтесь тут, щоб побачити A-Z підручників із навчання Java тут.
Для ітерації списку інтерфейс списку використовує ітератор списку. Цей ітератор списку поширюється з інтерфейсу ітератора. У нашому наступному підручнику ми розглянемо докладніше про ітератор списку.
Що ви дізнаєтесь:
- Список методів на Java
- Видалення дублікатів зі списку на Java
- Часті запитання
- Висновок
- Рекомендована література
Список методів на Java
У наступній таблиці наведено різні функції, що надаються інтерфейсом списку в Java.
Метод списку | Метод-прототип | Опис |
---|---|---|
містить | boolean містить (Об'єкт o) | Перевіряє, чи вказаний елемент присутній у списку, і повертає true, якщо присутній |
розмір | розмір int () | Повертає розмір списку, тобто кількість елементів у списку або довжину списку. |
ясно | void clear () | Очищає список, видаляючи всі елементи зі списку |
додати | void add (int index, Object element) | Додає даний елемент до списку за вказаним індексом |
логічне додавання (Об'єкт o) | Додає даний елемент у кінці списку | |
addAll | boolean addAll (Колекція c) | Додає всю дану колекцію до кінця списку |
boolean addAll (індекс int, колекція c) | Вставляє дану колекцію (усі елементи) у список із зазначеним індексом | |
містить усі | boolean containsAll (Колекція c) | Перевіряє, чи вказана колекція (усі елементи) є частиною списку. Повертає значення так. |
дорівнює | логічне значення дорівнює (Об'єкт o) | Порівнює вказаний об'єкт для рівності з елементами списку |
Отримати | Об'єкт get (індекс int) | Повертає елемент у списку, вказаному індексом |
hashCode | int hashCode () | Повертає значення хеш-коду Списку. |
indexOf` | int indexOf (Об'єкт o) | Знаходить перше входження вхідного елемента та повертає його індекс |
пусто | логічний isEmpty () | Перевіряє, чи список порожній |
lastIndexOf | int lastIndexOf (Об'єкт o) | Знаходить останнє входження елемента вводу у списку та повертає його індекс |
видалити | Видалення об’єкта (індекс int) | Видаляє елемент із зазначеним індексом |
логічне видалення (Об'єкт o) | Видаляє елемент з першого появи у списку | |
видалити все | boolean removeAll (Колекція c) | Видаляє зі списку всі елементи, що містяться у вказаній колекції |
retainAll | boolean retainAll (Колекція c) | Навпаки removeAll. Зберігає елемент, зазначений у наборі вхідних даних у списку. |
Встановити | Набір об'єктів (індекс int, елемент об'єкта) | Змінює елемент за вказаним індексом, встановлюючи йому вказане значення |
підсписок | Підсписок списку (int fromIndex, int toIndex) | Повертає підсписок елементів між fromIndex (включно) та toIndex (ексклюзивно). |
сортувати | сортування порожнеч (порівняльник c) | Сортує елемент списку відповідно до вказаного компаратора, щоб отримати упорядкований список |
toArray | Об'єкт () toArray () | Повертає представлення масиву списку |
Об'єкт () до масиву (Об'єкт () а) | Повертає представлення масиву, тип виконання якого збігається із вказаним аргументом масиву | |
ітератор | Ітератор ітератора () | Повертає ітератор для списку |
listIterator | ListIterator listIterator () | Повертає ListIterator для списку |
ListIterator listIterator (індекс int) | Повертає ListIterator, починаючи з вказаного індексу у списку |
Далі ми обговоримо ці функції разом з прикладами.
розмір
Прототип: розмір int ()
Параметри: НІЛ
Повернене значення: int => Кількість елементів у списку або іншими словами довжина списку.
Опис: Розмір () повертає кількість елементів або розмір списку. Її також можна просто назвати довжиною.
ясно
Прототип: void clear ()
Параметри: НІЛ
Повернене значення: Немає поверненого значення
Опис: Очищає список, видаляючи всі елементи списку. Кидає “UnSupportedException”, якщо операція не підтримується списком.
У наведеному нижче прикладі буде продемонстровано метод size () та clear ().
import java.util.*; public class Main { public static void main(String() args) { List strList = new ArrayList(); // Creating a list //add items to list strList.add('Java'); strList.add('C++'); //print the size of list System.out.println('Size of list:' + strList.size()); //add more items to list strList.add('Ruby'); strList.add('Python'); strList.add('C#'); //print the size of list again System.out.println('Size of list after adding more elements:' + strList.size()); //clear method strList.clear(); System.out.println('List after calling clear() method:' + strList); } }
Вихід:
додати
Прототип: void add (int index, Object element)
Параметри: index - позиція, при якій слід додати елемент.
Елемент - елемент, який потрібно додати
Повернене значення: порожнеча
Опис: Додає даний елемент до списку за вказаним індексом. Подальші елементи зміщуються вправо.
Виділено наступні винятки:
IndexOutOfBoundsException: Індекс списку вийшов за межі діапазону
UnsupportedOperationException: Операція додавання не підтримується списком.
ClassCastException: Елемент не можна додати до списку через клас вказаних елементів.
IllegalArgumentException: Вказаний елемент або якийсь аспект неправильний.
Додати
Прототип: логічне додавання (Об'єкт o)
Параметри: o => Елемент, який потрібно додати до списку
Повернене значення: true => Елемент успішно додано
False => Додавання не виконано
Опис: Цей метод додає даний елемент у кінці списку.
Ця операція може спричинити такі винятки.
UnsupportedOperationException: Додати операцію, яка не підтримується цим списком.
ClassCastException: Вказаний елемент не можна додати через його клас
IllegalArgumentException: Вказаний елемент або якийсь аспект неправильний.
addAll
Прототип: boolean addAll (Колекція c)
Параметри: c => Колекція, елементи якої потрібно додати до списку
Повернене значення: true => Виконання методу успішне
Опис: Метод addAll бере всі елементи із колекції c та додає їх до кінця списку, підтримуючи встановлений порядок.
Цей метод виявляє невизначену поведінку, якщо колекція змінюється під час виконання операції.
Метод видає такі винятки:
UnsupportedOperationException: Додати операцію, яка не підтримується цим списком.
ClassCastException: Вказаний елемент не можна додати через його клас.
IllegalArgumentException: Вказаний елемент або якийсь аспект неправильний.
addAll
Прототип: boolean addAll (індекс int, колекція c)
Параметри: index => Позиція, в яку слід вставити колекцію.
C => Колекція, яку потрібно вставити в список.
Повернене значення: true => Якщо елементи колекції успішно додані до списку.
Опис: Метод addAll вставляє всі елементи зазначеної колекції в список із зазначеним індексом. Потім наступні елементи зміщуються вправо. Як і у випадку з попереднім перевантаженням addAll, поведінка не визначена, якщо колекція змінюється під час виконання операції.
Винятки, отримані цим методом:
UnsupportedOperationException: Додати операцію, яка не підтримується цим списком.
ClassCastException: Вказаний елемент не можна додати через його клас.
IllegalArgumentException: Вказаний елемент або якийсь аспект неправильний.
IndexOutOfBoundsException: Індекс вийшов за межі діапазону.
Програма нижче демонструє демонстрацію методів add та addAll зі списку.
import java.util.*; public class Main { public static void main(String() args) { List strList = new ArrayList(); // Creating a list strList.add('Java'); strList.add('C++'); //print the list System.out.println('List after adding two elements:' + strList); List llist = new ArrayList(); // Create another list llist.add('Ruby'); llist.add('Python'); llist.add('C#'); // addAll method - add llist to strList strList.addAll(llist); System.out.println('List after addAll:'+ strList); } }
Вихід:
містить
Прототип: boolean містить (Об'єкт o)
Параметри: o => Елемент для пошуку у списку.
Повернене значення: true => Якщо список містить зазначений елемент.
Опис: Метод ‘містить’ перевіряє, чи вказаний елемент присутній у списку, і повертає логічне значення true, якщо елемент присутній. В іншому випадку він повертає false.
містить усі
Прототип: boolean containsAll (Колекція c)
Параметри: c => Колекція для пошуку у списку.
Повернене значення: true => Якщо всі елементи вказаної колекції присутні у списку.
Опис: Метод “containsAll” перевіряє, чи всі елементи, що присутні у зазначеній колекції, присутні у списку. Якщо присутній, він повертає справжнє значення, а false - інакше.
Наступна програма Java демонструє використання методів 'contains' і 'containsAll' у списку.
import java.util.*; public class Main { public static void main(String() args) { //define list of strings List list = new ArrayList(); //initialize list to strings list.add('Java'); list.add('Xml'); list.add('Python'); list.add('Ruby'); list.add('JavaScript'); //contains method demo if(list.contains('C')==true) System.out.println('Given list contains string 'C''); else if(list.contains('Java')==true) System.out.println('Given list contains string 'Java' but not string 'C''); //containsAll method demo List myList = new ArrayList(); myList.add('Ruby'); myList.add('Python'); if(list.containsAll(myList)==true) System.out.println('List contains strings 'Ruby' and 'Python''); } }
Вихід:
Даний список містить рядок 'Java', але не рядок 'C'
Список містить рядки «Ruby» та «Python»
дорівнює
Прототип: логічне значення дорівнює (Об'єкт o)
Параметри: o => Об'єкт, який перевіряється на рівність.
Повернене значення: true => Якщо даний об'єкт дорівнює списку.
Опис: Цей метод використовується для порівняння даного об'єкта зі списком рівності. Якщо вказаний об'єкт є списком, тоді метод повертає true. Обидва списки називаються рівними тоді і лише тоді, коли вони однакового розміру, а відповідні елементи в двох списках рівні та в однаковому порядку.
Демонстрація методу рівних наведена нижче:
import java.util.LinkedList; import java.util.List; public class Main { public static void main(String() args) { //define lists List first_list= new LinkedList(); List second_list = new LinkedList(); List third_list = new LinkedList(); //initialize lists with values for (int i=0;i<11;i++){ first_list.add(i); second_list.add(i); third_list.add(i*i); } //print each list System.out.println('First list: ' + first_list); System.out.println('Second list: ' + second_list); System.out.println('Third list: ' + third_list); //use equals method to check equality with each list to other if (first_list.equals(second_list) == true) System.out.println('
first_list and second_list are equal.
'); else System.out.println('first_list and second_list are not equal.
'); if(first_list.equals(third_list)) System.out.println('first_list and third_list are equal.
'); else System.out.println('first_list and third_list are not equal.
'); if(second_list.equals(third_list)) System.out.println('second_list and third_list are equal.
'); else System.out.println('second_list and third_list are not equal.
'); } }
Вихід:
Отримати
Прототип: Об'єкт get (індекс int)
Параметри: index => Позиція повернення елемента.
Повернене значення: object => Елемент у вказаній позиції.
Опис: Метод get () повертає елемент у заданій позиції.
Цей метод видає “indexOutOfBoundsException”, якщо вказаний індекс виходить за межі діапазону списку.
Встановити
Прототип: Набір об'єктів (індекс int, елемент об'єкта)
Параметри: index => Позиція, в якій повинен бути встановлений новий елемент.
element => Новий елемент, який буде розміщено в позиції, заданій індексом.
Повернене значення: Об'єкт => Замінений елемент
Опис: Метод set () замінює елемент за вказаним індексом іншим значенням, заданим елементом.
Метод може мати такі винятки:
UnsupportedOperationException: Операція встановлення не підтримується списком.
ClassCastException: Операцію неможливо виконати через клас елемента
IllegalArgumentException: Аргумент або якийсь його аспект є незаконним
IndexOutOfBoundsException: Індекс вийшов за межі діапазону.
Наступна програма показує приклад методу get () та set ().
import java.util.*; public class Main { public static void main(String() args) { //define list List listA = new ArrayList(); listA.add('Java'); listA.add('C++'); listA.add('Python'); //access list elements using index with get () method System.out.println('Element at index 0:' + listA.get(0)); System.out.println('Element at index 1:' + listA.get(1)); System.out.println('Element at index 2:' + listA.get(2)); //set element at index 1 to Ruby listA.set(1,'Ruby'); System.out.println('Element at index 1 changed to :' + listA.get(1) ); } }
Вихід:
hashCode
Прототип: int hashCode ()
Параметри: НІЛ
Повернене значення: int => hashCode списку
Опис: Метод ‘hashCode ()’ повертає hashCode списку, який є цілим числом.
Приклад:
import java.util.*; public class Main { public static void main(String() args) { // Initializing a list of type Linkedlist List mylist = new LinkedList(); mylist.add(1); mylist.add(3); mylist.add(5); mylist.add(7); //print the list System.out.println('The list:' + mylist); //use hashCode() method to find hashcode of list int hash = mylist.hashCode(); System.out.println('Hashcode for list:' + hash); } }
Вихід:
пусто
Прототип: логічний isEmpty ()
Параметри: НІЛ
Повернене значення: true => Список порожній
Опис: Метод ‘isEmpty ()’ перевіряє, чи список порожній. Метод IsEmpty використовується для перевірки, чи є в списку якісь елементи, перш ніж почати обробляти ці елементи.
indexOf
Прототип: int indexOf (Об'єкт o)
Параметри: o => елемент для пошуку у списку
Повернене значення: int => індекс або позиція першого входження даного елемента у список. Повертає -1, якщо елемент відсутній.
Опис: Метод ‘indexOf ()’ повертає індекс першого входження даного елемента o у списку. Якщо елемент не знайдений, він повертає -1.
lastIndexOf
Прототип: int lastIndexOf (Об'єкт o)
Параметри: o => Об'єкт, в індексі якого потрібно шукати
Повернене значення: int => Індекс останнього входження даного елемента у список, -1 інакше.
Опис: Метод ‘lastIndexOf ()’ повертає індекс останнього входження елемента o у списку. Якщо елемент не знайдено, метод повертає -1.
Програма Java нижче демонструє використання методів indexOf та lastIndexOf зі списку.
import java.util.*; public class Main { public static void main(String() args) { // define an integer array List intList = new ArrayList(5); //add elements to the list intList.add(10); intList.add(20); intList.add(30); intList.add(10); intList.add(20); //print the list System.out.println('The list of integers:' + intList); // Use indexOf() and lastIndexOf() methods of list to find first and last index System.out.println('first index of 20:' + intList.indexOf(20)); System.out.println('last index of 10:' + intList.lastIndexOf(10)); } }
Вихід:
видалити
Прототип: Видалення об’єкта (індекс int)
Параметри: index => Індекс або позиція в списку, при якій елемент буде видалено
Повернене значення: Об'єкт => Елемент вилучено
Опис: Метод ‘remove ()’ видаляє зі списку елемент у заданій позиції. Після видалення елементи поруч із видаленим елементом зміщуються вліво.
Цей метод може спричинити такі винятки:
UnsupportedOperationException: Видалення не підтримується списком.
IndexOutOfBoundsException: Вказаний індекс виходить за межі діапазону
видалити
Прототип: логічне видалення (Об'єкт o)
Параметри: o => Елемент, який потрібно вилучити зі списку
Повернене значення: true => Елемент успішно видалено.
Опис: Ця перевантажена версія методу remove () видаляє перше входження даного елемента o зі списку. Якщо даний елемент відсутній у списку, він залишається незмінним.
Цей метод може спричинити наступний виняток:
UnsupportedOperationException: Видалення не підтримується списком.
видалити все
Прототип: boolean removeAll (Колекція c)
Параметри: c => Колекція, що містить елементи, які вилучаються зі списку.
Повернене значення: true => Якщо виклик методу успішний, і всі елементи, зазначені в колекції c, видаляються зі списку.
Опис: Метод ‘removeAll ()’ використовується для видалення всіх елементів зі списку, зазначених у колекції c, яка передається як аргумент.
Цей метод може спричинити наступний виняток:
UnsupportedOperationException: removeAll Список не підтримує.
Давайте побачимо приклад методів remove і removeAll.
import java.util.*; public class Main { public static void main(String() args) { // Creating a list List oddList = new ArrayList(); //add elements to the list oddList.add(1); oddList.add(3); oddList.add(5); oddList.add(7); oddList.add(9); oddList.add(11); //print the original list System.out.println('Original List:' + oddList); // Removes element from index 1 oddList.remove(1); System.out.println('Oddlist after removing element at index 1:' + oddList); //removeAll method List c1 = new ArrayList(); c1.add(1); c1.add(5); c1.add(11); oddList.removeAll(c1); System.out.println('Oddlist after removing elements {1,5,11}}:' + oddList); } }
Вихід:
retainAll
Прототип: boolean retainAll (Колекція c)
Параметри: c => Колекція, що містить елементи, які слід зберегти у списку.
Повернене значення: true => Якщо виклик методу змінив список.
Опис: Цей метод вилучає зі списку всі елементи, крім тих, які присутні в колекції c. Іншими словами, цей метод зберігає всі елементи у списку, які присутні в колекції c, і видаляє інші елементи.
Цей метод може спричинити наступний виняток:
UnsupportedOperationException: retainAll не підтримується списком.
import java.util.*; public class Main { public static void main(String() args) { // Creating a list List oddList = new ArrayList(); //add elements to the list oddList.add(1); oddList.add(3); oddList.add(5); oddList.add(7); oddList.add(9); oddList.add(11); //print the original list System.out.println('Original List:' + oddList); //retainAll method List c1 = new ArrayList(); c1.add(1); c1.add(5); c1.add(11); oddList.retainAll(c1); System.out.println('Oddlist after call to retainAll (1,5,11):' + oddList); } }
Вихід:
підсписок
Прототип: Підсписок списку (int fromIndex, int toIndex)
Параметри: fromIndex => Нижній індекс списку (включно)
toIndex => Вищий індекс списку (ексклюзивно)
Повернене значення: Список => Підспис даного списку
Опис: Метод sublist () повертає частковий вигляд списку, також відомий як підспис від ‘fromIndex’ до ‘toIndex’. Повернутий підспис - це лише перегляд батьківського списку, і, отже, будь-які зміни, внесені до будь-якого списку, відображаються скрізь.
Подібним чином, всі операції зі списком також працюють над підсписком.
Метод може створити такий виняток:
IndexOutOfBoundsException: Недопустиме значення toIndex.
Приклад програми для методу підспису наведено нижче.
import java.util.*; public class Main { public static void main(String() args) { // define a string list List strList = new ArrayList(5); //add elements to the list strList.add('Java'); strList.add('Tutorials'); strList.add('Collection'); strList.add('Framework'); strList.add('Series'); //print the original list System.out.println('The original list=>strList: ' + strList); //define another list List subList = new ArrayList(); // take a sublist of elements from 2 to 4 from strList subList = strList.subList(2, 4); //print the sublist System.out.println('The sublist of strList:' + subList); } }
Вихід:
сортувальний список
Прототип: сортування порожнеч (порівняльник c)
Параметри: c => Порівняльник, на основі якого сортується список.
Повернене значення: НІЛ
Опис: Метод «sort ()» використовується для сортування списку. Метод використовує компаратор, вказаний для сортування списку.
Побачимо приклад методу сортування . Ми порівняли його з методом Collections.sort, який сортує елементи в природній послідовності. Результатом роботи програми є упорядкований список.
import java.util.Collections; import java.util.ArrayList; import java.util.List; import java.util.Random; public class Main { public static void main(String() args) { //define list List intArray = new ArrayList(); Random random = new Random(); //populate the list with random numbers <20 for (int i = 0; i {return (o2-o1);}); //comparator to sort in reverse System.out.println('Reverse List sorted using comparator:
'+intArray); } }
Вихід:
toArray
Прототип: Об'єкт () toArray ()
Параметри: НІЛ
Повернене значення: Об'єкт () => Представлення масиву списку
Опис: Метод toArray () повертає представлення масиву списку у належній послідовності.
toArray
Прототип: Об'єкт () до масиву (Об'єкт () а)
Параметри: a => Тип масиву, який слід зіставити з типами елементів списку при перетворенні списку в масив.
Повернене значення: Об'єкт () => Представлення масиву списку.
Опис: Це перевантаження методу toArray () повертає масив, що містить елементи у списку, які мають той самий тип виконання, що і масив a.
Цей метод може спричинити наступний виняток:
ArrayStoreException: Тип виконання кожного елемента у списку не є підтипом типу виконання кожного елемента у цьому Списку.
Далі наведено приклад реалізації методу toArray.
import java.util.*; public class Main { public static void main(String() args) { // create list ArrayList colorsList = new ArrayList(7); // add colors to colorsList colorsList.add('Violet'); colorsList.add('Indigo'); colorsList.add('Blue'); colorsList.add('Green'); colorsList.add('Yellow'); colorsList.add('Orange'); colorsList.add('Red'); System.out.println('Size of the colorsList: ' + colorsList.size()); // Print the colors in the list System.out.println('Contents of colorsList:'); for (String value : colorsList){ System.out.print(value + ' '); } // Create an array from the list using toArray method String colorsArray() = new String(colorsList.size()); colorsArray = colorsList.toArray(colorsArray); // Display the contents of the array System.out.println('
Printing elements of colorsArray:' + Arrays.toString(colorsArray)); } }
Вихід:
Ітератор
Прототип: Ітератор ітератора ()
Параметри: НІЛ
Повернене значення: Ітератор => Ітератор для перебору елементів списку
Опис: Цей метод повертає ітератор, який перебирає елементи у списку.
Програма Java для демонстрації використання ітератора.
яка різниця між unix та linux
import java.util.*; public class Main { public static void main(String() args) { // create list ArrayList colorsList = new ArrayList(7); // add colors to colorsList colorsList.add('Violet'); colorsList.add('Indigo'); colorsList.add('Blue'); colorsList.add('Green'); colorsList.add('Yellow'); colorsList.add('Orange'); colorsList.add('Red'); System.out.println('ColorList using iterator:'); //define iterator for colorsList Iterator iterator = colorsList.iterator(); //iterate through colorsList using iterator and print each item while(iterator.hasNext()){ System.out.print(iterator.next() + ' '); } } }
Вихід:
listIterator
Прототип: ListIterator listIterator ()
Параметри: НІЛ
Повернене значення: ListIterator => Listiterator елементів у списку.
Опис: Метод listIterator () повертає об'єкт ListIterator елементів у списку. Цей ітератор починається з початку списку, тобто індексу 0.
listIterator
Прототип: ListIterator listIterator (індекс int)
Параметри: index => Позиція, з якої починається listIterator.
Повернене значення: ListIterator => Об'єкт ListIterator за вказаним індексом у списку.
Опис: Перевантаження методу listIterator () повертає listIterator, який починається з заданої позиції у списку. Наведений індекс вказує на те, що це буде перший елемент, який буде повернутий першим викликом методу nextElement () ListIterator.
Метод може викинути IndexOutOfBoundsException за недійсне значення індексу.
Наступний приклад демонструє використання listIterator.
import java.util.*; public class Main { public static void main(String() args) { //define list & add items to list List nameList = new LinkedList(); nameList.add('Java'); nameList.add('C++'); nameList.add('Python'); // get listIterator for the list ListIterator namesIterator = nameList.listIterator(); // Traverse list using listiterator and print each item System.out.println('Contents of list using listIterator:'); while(namesIterator.hasNext()){ System.out.print(namesIterator.next() + ' '); } } }
Вихід:
Ми детально обговоримо ListIterator пізніше.
Давайте тепер обговоримо деякі різні операції, які можна виконати зі списками, але методи, які не передбачені в інтерфейсі списку.
Копіювати список на Java
Для копіювання елементів одного списку в інший список потрібно використовувати метод copy (), передбачений фреймворком Collections.
Метод Collections.copy () копіює всі елементи списку, надані як другий аргумент, до списку, представленого як перший аргумент. Зверніть увагу, що список, до якого копіюється вміст іншого списку, повинен бути достатньо великим, щоб вмістити скопійовані елементи.
Якщо список недостатньо великий, метод копіювання видає “indexOutOfBoundsEexception”.
Наступна програма копіює вміст одного списку в інший.
import java.util.*; public class Main { public static void main(String() args) { //create first ArrayList object List aList_1 = new ArrayList(); //Add elements to first ArrayList aList_1.add('R'); aList_1.add('G'); aList_1.add('B'); //print the List System.out.println('The first list:' + aList_1); //create second ArrayList object List aList_2 = new ArrayList(); //Add elements to second Arraylist aList_2.add('Red'); aList_2.add('Green'); aList_2.add('Blue'); aList_2.add('Yellow'); aList_2.add('Brown'); System.out.println('The second list: ' + aList_2); //use Collections.copy() method to copy elements of first list to second list. Collections.copy(aList_2,aList_1); //print the resultant second Arraylist System.out.println('
The second list after copying first list to second list: ' + aList_2); } }
Вихід:
Видалення дублікатів зі списку на Java
Даний список може мати або не мати повторюваних елементів або дублікатів. Якщо у списку, з яким ви працюєте, є повторювані елементи, і ви хочете, щоб у списку були всі окремі елементи, тоді існує два методи видалення дублікатів зі списку, що підтримується на Java.
Використання потоку Java 8
Перший метод видалення дублікатів зі списку - використання методу distinct (), наданого потоком Java 8. Тут список, що містить дублікати, викликає метод stream () .distinct, а потім повертається значення перетворюється в новий список, який буде мати лише різні елементи.
Наступна програма демонструє використання методу distinct ().
import java.util.*; import java.util.stream.Collectors; class Main { public static void main(String() args) { // original list List intlist = new ArrayList( Arrays.asList(1, 1, 1, 2, 2, 3, 3, 3, 4, 5, 5,6,5,3,4)); // Print the list System.out.println('Original ArrayList: ' + intlist); // using distinct() method of Java 8 stream remove duplicates from original List //and generate a new list without duplicates List distinct_list = intlist.stream().distinct() .collect(Collectors.toList()); // Print the new list System.out.println('ArrayList after removing duplicates: ' + distinct_list); } }
Вихід:
Використання підходу Iterator
Видалення дублікатів зі списку за допомогою ітератора є тривалим і примітивним підходом. При такому підході вам потрібно пройтись по списку і помістити перше входження кожного елемента в новий список. Кожен наступний елемент перевіряється, якщо він є дублікатом.
Наведена нижче програма досягає цього.
import java.util.*; public class Main { public static void main(String args()) { // create original list ArrayList aList = new ArrayList( Arrays.asList(1, 1, 1, 2, 2, 3, 3, 3, 4, 5, 5, 6, 5, 3, 4)); // Print the original list System.out.println('Original List: '+ aList); // Create a new list ArrayList new_List = new ArrayList(); // Traverse through the original list to remove duplicates for (Integer element : aList) { // check if element is present in new_List, else add it if (!new_List.contains(element)) { new_List.add(element); } } // Print the new list without duplicates System.out.println('List after removing duplicates: '+ new_List); } }
Вихід:
Часті запитання
Q # 1) Що таке метод get у списку на Java?
Відповідь: Метод Get списку використовується для отримання певного елемента в списку на основі індексу. Ви передаєте необхідний індекс методу get, і метод get повертає значення елемента за цим індексом.
Q # 2) Що таке метод toArray у Java?
Відповідь: Метод toArray () використовується для отримання представлення масиву списку.
Запитання №3) Як сортувати список на Java?
Відповідь: На Java список можна сортувати, використовуючи метод сортування списку. Ви можете передати власні критерії сортування, використовуючи інтерфейс порівняння, який передається методу сортування як параметр.
Ви також можете використовувати Колекції. Метод сортування для сортування списку. Цей метод сортує список за природним впорядкуванням.
Q # 4) Що таке Arrays.asList () у Java?
Відповідь: Метод ‘asList’ масиву повертає список елементів, підкріплених масивом.
Висновок
У цьому посібнику ми вивчили всі методи, які надає список. Список Java містить різні методи, за допомогою яких ви можете маніпулювати та обробляти списки, включаючи пошук, сортування тощо. Ми пояснили кожен метод на відповідних прикладах програмування тут.
У нашому майбутньому уроці ми детально обговоримо ListIterator.
=> Ознайомтеся з простими навчальними серіями Java тут.
Рекомендована література
- Список Java - Як створити, ініціалізувати та використовувати список у Java
- Прихований список для масиву та інші колекції в Java
- Підручник із розширеного списку Python (Сортування списку, зворотне, індексування, копіювання, приєднання, сума)
- Список Python - Створення, доступ, нарізка, додавання або видалення елементів
- Потоки Java з методами та життєвим циклом
- Видалення / видалення елемента з масиву в Java
- Підручник із рядків Java | Рядові методи Java на прикладах
- Список IP-адрес маршрутизатора за замовчуванням для загальних марок бездротових маршрутизаторів