java list methods sort list
Този урок обяснява различни методи за списък на Java, като списък за сортиране, списъкът съдържа, списък добавяне, списък премахване, размер на списъка, добавяне на всички, премахване на всички, обръщане на списък и още:
Вече обсъдихме интерфейса на списъка като цяло в предишния ни урок. Интерфейсът на списъка има различни методи, които се използват за манипулиране на съдържанието на списъка. Използвайки тези методи, можете да вмъквате / изтривате, сортирате и търсите елементи в списъка.
В този урок ще обсъдим всички методи, предоставени от интерфейса на списъка.
=> Проверете тук, за да видите A-Z на уроците за обучение по Java тук.
За да извърши итерация през списъка, интерфейсът на списъка използва итератора на списъка. Този списък итератор се простира от интерфейса на итератора. В следващия урок ще разгледаме повече за итератора на списъка.
Какво ще научите:
- Изброяване на методи в Java
- Премахване на дубликати от списък в Java
- често задавани въпроси
- Заключение
- Препоръчително четене
Изброяване на методи в Java
Следващата таблица показва различни функции, предоставени от списъчния интерфейс в Java.
Метод на списъка | Прототип на метода | Описание |
---|---|---|
съдържа | boolean съдържа (Обект o) | Проверява дали посоченият елемент присъства в списъка и връща true, ако присъства |
размер | размер int () | Връща размера на списъка, т.е. броя на елементите в списъка или дължината на списъка. |
ясно | празно ясно () | Изчиства списъка, като премахва всички елементи в списъка |
добавете | void add (int index, Object element) | Добавя дадения елемент към списъка при дадения индекс |
булево добавяне (обект o) | Добавя дадения елемент в края на списъка | |
добави Всички | boolean addAll (Колекция c) | Добавя цялата дадена колекция в края на списъка |
boolean addAll (индекс int, колекция c) | Вмъква дадената колекция (всички елементи) в списъка с посочения индекс | |
съдържаВсички | boolean containsAll (Колекция c) | Проверява дали посочената колекция (всички елементи) е част от списъка. Връща вярно за да. |
равно на | булево равно (Обект o) | Сравнява посочения обект за равенство с елементи от списъка |
Вземете | Object get (индекс int) | Връща елемента в списъка, посочен от index |
хеш код | int hashCode () | Връща стойността на хеш кода на Списък. |
indexOf` | int indexOf (Обект o) | Намира първата поява на входния елемент и връща неговия индекс |
празно е | boolean isEmpty () | Проверява дали списъкът е празен |
lastIndexOf | int lastIndexOf (Обект o) | Намира последното появяване на входния елемент в списъка и връща неговия индекс |
Премахване | Премахване на обект (индекс int) | Премахва елемента при посочения индекс |
булево премахване (обект o) | Премахва елемента при първото му появяване в списъка | |
премахнете всички | boolean removeAll (Колекция c) | Премахва всички елементи, съдържащи се в посочената колекция от списъка |
retainAll | boolean retainAll (Колекция c) | Противоположно на removeAll. Запазва елемента, посочен в входната колекция в списъка. |
Комплект | Набор обекти (индекс int, елемент на обект) | Променя елемента в посочения индекс, като го задава на посочената стойност |
подлист | Подлист на списъка (int отIndex, int toIndex) | Връща подсписък на елементи между fromIndex (включително) и toIndex (изключителен). |
вид | сортиране на празнота (сравнение c) | Сортира елемента на списъка според посочения компаратор, за да даде подреден списък |
toArray | Обект () към масив () | Връща представяне на масив на списъка |
Обект () към масив (Обект () а) | Връща представянето на масива, чийто тип на изпълнение е същият като зададения аргумент на масив | |
итератор | Итератор на итератор () | Връща итератор за списъка |
listIterator | ListIterator listIterator () | Връща ListIterator за списъка |
ListIterator listIterator (int index) | Връща ListIterator, започвайки от посочения индекс в списъка |
След това ще обсъдим тези функции заедно с техните примери.
размер
Прототип: размер int ()
Параметри: НИЛ
Възвръщаема стойност: int => Брой елементи в списъка или с други думи дължината на списъка.
Описание: Size () връща броя на елементите или размера на списъка. Може да се нарече и дължина с прости думи.
ясно
Прототип: празно ясно ()
Параметри: НИЛ
Възвръщаема стойност: Няма възвръщаема стойност
Описание: Изчиства списъка, като премахва всички елементи от списъка. Изхвърля „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)
Параметри: индекс - позиция, при която елементът трябва да бъде добавен.
Елемент - елементът, който трябва да се добави
Възвръщаема стойност: нищожен
Описание: Добавя дадения елемент към списъка при дадения индекс. Следващите елементи се изместват надясно.
Изключват се следните изключения:
IndexOutOfBoundsException: Индексът на списъка е извън обхвата
UnsupportedOperationException: Операцията за добавяне не се поддържа от списъка.
ClassCastException: Елементът не може да бъде добавен към списъка поради класа на посочените елементи.
IllegalArgumentException: Посоченият елемент или някакъв аспект не е правилен.
Добавяне
Прототип: булево добавяне (обект o)
Параметри: o => Елемент за добавяне към списъка
Възвръщаема стойност: true => Елементът е добавен успешно
False => Добавянето не е успешно
Описание: Този метод добавя дадения елемент в края на списъка.
Тази операция може да хвърли следните изключения.
UnsupportedOperationException: Добавяне на операция, която не се поддържа от този списък.
ClassCastException: Посоченият елемент не може да бъде добавен поради своя клас
IllegalArgumentException: Посоченият елемент или някакъв аспект не е правилен.
добави Всички
Прототип: boolean addAll (Колекция c)
Параметри: c => Колекция, чиито елементи трябва да бъдат добавени към списъка
Възвръщаема стойност: true => Изпълнението на метода е успешно
Описание: Методът addAll взема всички елементи от колекция c и ги добавя в края на списъка, като поддържа зададения ред.
Този метод показва неуточнено поведение, ако колекцията е променена по време на операцията.
Методът хвърля следните изключения:
UnsupportedOperationException: Добавяне на операция, която не се поддържа от този списък.
ClassCastException: Посоченият елемент не може да бъде добавен поради своя клас.
IllegalArgumentException: Посоченият елемент или някакъв аспект не е правилен.
добави Всички
Прототип: 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.
'); } }
Изход:
Вземете
Прототип: Object 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) ); } }
Изход:
хеш код
Прототип: 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); } }
Изход:
празно е
Прототип: boolean isEmpty ()
Параметри: НИЛ
Възвръщаема стойност: true => Списъкът е празен
Описание: Методът ‘isEmpty ()’ проверява дали списъкът е празен. Методът IsEmpty се използва за проверка дали в списъка има елементи, преди да започнете да обработвате тези елементи.
индекс на
Прототип: 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 не се поддържа от списъка.
Нека видим пример за методи за премахване и премахване на всички.
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 отIndex, int toIndex)
Параметри: fromIndex => Долен индекс на списъка (включително)
toIndex => По-висок индекс на списъка (изключителен)
Възвръщаема стойност: Списък => Под-списък на дадения списък
Описание: Методът sublist () връща частичния изглед на списъка, известен също като 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
Прототип: Обект () към масив (Обект () а)
Параметри: 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 програма за демонстрация с помощта на итератор.
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.
преобразуване на символ в низ c ++
listIterator
Прототип: ListIterator listIterator (int index)
Параметри: index => Позиция, от която започва списъкаIterator.
Възвръщаема стойност: 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. Тук списъкът, съдържащ дубликати, извиква метода 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); } }
Изход:
често задавани въпроси
В # 1) Какво представлява методът get в списъка в Java?
Отговор: Методът Get от списъка се използва за извличане на определен елемент в списъка въз основа на индекса. Предавате необходимия индекс на метода get и методът get ще върне стойността на елемента при този индекс.
В # 2) Какво представлява методът toArray в Java?
Отговор: Методът toArray () се използва за получаване на представяне на масива на списъка.
В # 3) Как сортирате списък в Java?
Отговор: В Java списъкът може да бъде сортиран чрез метода на сортиране на списъка. Можете да предадете свои собствени критерии за сортиране, като използвате интерфейса за сравнение, който се предава на метода за сортиране като параметър.
Можете също да използвате Колекции. Метод за сортиране за сортиране на списъка. Този метод сортира списъка според естественото подреждане.
Q # 4) Какво е Arrays.asList () в Java?
Отговор: Методът ‘asList’ на масива връща списъка с елементи, подкрепени от масив.
Заключение
В този урок научихме всички методи, които предоставя списък. Списъкът на Java предоставя различни методи, чрез които можете да манипулирате и обработвате списъци, включително търсене, сортиране и др. Тук обяснихме всеки метод с подходящи примери за програмиране.
В нашия предстоящ урок ще обсъдим подробно ListIterator.
=> Тук разгледайте серията от прости Java Java.
Препоръчително четене
- Списък на Java - Как да създадете, инициализирате и използвате списък в Java
- Скрит списък за масив и други колекции в Java
- Урок за разширени списъци на Python (Сортиране по списък, обръщане, индекс, копиране, присъединяване, сума)
- Списък на Python - Създаване, достъп, нарязване, добавяне или изтриване на елементи
- Java нишки с методи и жизнен цикъл
- Премахване / изтриване на елемент от масив в Java
- Java урок за низове | Низови методи на Java с примери
- Списък на IP адресите по подразбиране за обичайните марки безжични рутери