java list methods sort list
Овај водич објашњава различите методе Јава листе, као што су Листа сортирања, Листа садржи, Додавање листе, Уклањање листе, Величина листе, Додај све, Уклони све, Обрни списак и више:
О интерфејсу листе смо већ разговарали уопште у нашем претходном водичу. Интерфејс листе има различите методе које се користе за манипулисање садржајем листе. Помоћу ових метода можете убацити / избрисати, сортирати и претраживати елементе на листи.
У овом упутству ћемо размотрити све методе које пружа интерфејс листе.
=> Овде погледајте како бисте овде видели А-З Јава туторијала за обуку.
Да би се кретао кроз листу, интерфејс листе користи итератор листе. Овај итератор листе протеже се од интерфејса итератора. У нашем следећем упутству истражићемо више о итератору листе.
Шта ћете научити:
- Методе пописа у Јави
- Уклоните дупликате са листе у Јави
- Често постављана питања
- Закључак
- Препоручено читање
Методе пописа у Јави
Следећа табела приказује разне функције које пружа интерфејс листе у Јави.
Листа метода | Прототип методе | Опис |
---|---|---|
садржи | боолеан садржи (објекат о) | Проверава да ли је наведени елемент присутан на листи и враћа труе ако је присутан |
величина | инт величина () | Приказује величину листе, тј. Број елемената на листи или дужину листе. |
јасно | воид цлеар () | Брише листу уклањањем свих елемената са листе |
додати | воид адд (инт индекс, елемент објекта) | Додаје дати елемент на листу са датим индексом |
логички додатак (објекат о) | Додаје дати елемент на крај листе | |
аддАлл | боолеан аддАлл (Колекција ц) | Додаје целу задату колекцију на крај листе |
боолеан аддАлл (инт индекс, Збирка ц) | Убацује дату колекцију (све елементе) на листу са наведеним индексом | |
садржиСве | боолеан цонтаинсАлл (Збирка ц) | Проверава да ли је наведена збирка (сви елементи) део листе. Враћа се тачно да. |
једнако | боолеан једнако (Објект о) | Упоређује наведени објекат ради једнакости са елементима листе |
Добити | Објецт гет (инт индекс) | Приказује елемент на листи наведеном индексом |
хасхЦоде | инт хасхЦоде () | Враћа вредност хеш кода Листе. |
индекОф` | инт индекОф (објекат о) | Проналази прву појаву улазног елемента и враћа његов индекс |
Празно | боолеан исЕмпти () | Проверава да ли је листа празна |
ластИндекОф | инт ластИндекОф (објекат о) | Проналази последњу појаву улазног елемента на листи и враћа његов индекс |
уклонити | Уклањање предмета (инт индекс) | Уклања елемент са наведеним индексом |
логичко уклањање (објекат о) | Уклања елемент при првом појављивању на листи | |
уклони све | боолеан ремовеАлл (Колекција ц) | Уклања са листе све елементе садржане у наведеној колекцији |
ретаинАлл | боолеан ретаинАлл (Колекција ц) | Супротно од ремовеАлл. Задржава елемент наведен у збирци уноса на листи. |
Комплет | Скуп објеката (инт индекс, елемент објекта) | Мења елемент у наведеном индексу постављањем на наведену вредност |
субЛист | Листа подлиста (инт фромИндек, инт тоИндек) | Враћа подлисту елемената између фромИндек (укључујући) и тоИндек (ексклузивно). |
врста | сортирање празнина (упоређивач ц) | Сортира елемент листе према наведеном упоређивачу дајући уређену листу |
тоАрраи | Објецт () тоАрраи () | Враћа приказ низа у низу |
Објецт () тоАрраи (Објецт () а) | Враћа приказ низа чији је тип времена извођења исти као наведени аргумент низа | |
итератор | Итератор итератор () | Враћа Итератор за листу |
листИтератор | ЛистИтератор листИтератор () | Враћа ЛистИтератор за листу |
ЛистИтератор листИтератор (инт индекс) | Враћа ЛистИтератор почевши од наведеног индекса на листи |
Даље ћемо разговарати о овим функцијама заједно са њиховим примерима.
величина
Прототип: инт величина ()
Параметри: НУЛА
Повратна вредност: инт => Број елемената на листи или другим речима дужина листе.
Опис: Величина () враћа број елемената или величину листе. Једноставно се то може назвати и дужином.
јасно
Прототип: воид цлеар ()
Параметри: НУЛА
Повратна вредност: Нема повратне вредности
Опис: Брише листу уклањањем свих елемената листе. Баца „УнСуппортедЕкцептион“ ако листа не подржава операцију.
Следећи пример ће показати методу сизе () и цлеар ().
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); } }
Излаз:
додати
Прототип: воид адд (инт индекс, елемент објекта)
Параметри: индекс - позиција на којој треба додати елемент.
Елемент - елемент који се додаје
Повратна вредност: празнина
Опис: Додаје дати елемент на листу са датим индексом. Следећи елементи су померени удесно.
Наведени су следећи изузеци:
ИндекОутОфБоундсЕкцептион: Индекс листе је ван опсега
УнсуппортедОператионЕкцептион: Листа не подржава операцију додавања.
ЦлассЦастЕкцептион: Елемент није могуће додати на листу због класе наведених елемената.
ИллегалАргументЕкцептион: Наведени елемент или неки аспект није тачан.
Додати
Прототип: логички додатак (објекат о)
Параметри: о => Елемент који треба додати на листу
Повратна вредност: тачно => Елемент је успешно додат
Нетачно => Додавање није успело
Опис: Овај метод додаје дати елемент на крају листе.
Ова операција може довести до следећих изузетака.
УнсуппортедОператионЕкцептион: Додајте операцију коју ова листа не подржава.
ЦлассЦастЕкцептион: Наведени елемент није могуће додати због своје класе
ИллегалАргументЕкцептион: Наведени елемент или неки аспект није тачан.
аддАлл
Прототип: боолеан аддАлл (Колекција ц)
Параметри: ц => Збирка чији елементи треба додати на листу
Повратна вредност: тачно => Извршење методе успешно
Опис: Метода аддАлл узима све елементе из колекције ц и додаје их на крај листе одржавајући редослед који је постављен.
Ова метода показује неспецификовано понашање ако је колекција измењена док је операција у току.
Метода доноси следеће изузетке:
УнсуппортедОператионЕкцептион: Додајте операцију коју ова листа не подржава.
ЦлассЦастЕкцептион: Наведени елемент није могуће додати због своје класе.
ИллегалАргументЕкцептион: Наведени елемент или неки аспект није тачан.
аддАлл
Прототип: боолеан аддАлл (инт индекс, Збирка ц)
Параметри: индекс => Положај на којем треба убацити колекцију.
Ц => Збирка која се убацује на листу.
Повратна вредност: труе => Ако су елементи колекције успешно додати на листу.
Опис: Метода аддАлл убацује све елементе у наведеној колекцији на листу са наведеним индексом. Следећи елементи се затим померају удесно. Као у случају претходног преоптерећења аддАлл, понашање је неодређено ако је колекција промењена док је операција у току.
Изузеци које доноси овај метод су:
УнсуппортедОператионЕкцептион: Додајте операцију коју ова листа не подржава.
ЦлассЦастЕкцептион: Наведени елемент није могуће додати због своје класе.
ИллегалАргументЕкцептион: Наведени елемент или неки аспект није тачан.
ИндекОутОфБоундсЕкцептион: Индекс ван опсега.
Програм у наставку приказује демонстрацију метода адд и аддАлл са листе.
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); } }
Излаз:
садржи
Прототип: боолеан садржи (објекат о)
Параметри: о => Елемент који се тражи на листи.
Повратна вредност: труе => Ако листа садржи наведени елемент.
Опис: Метода „садржи“ проверава да ли је наведени елемент присутан на листи и враћа логичку вредност труе ако је елемент присутан. У супротном, враћа фалсе.
садржиСве
Прототип: боолеан цонтаинсАлл (Збирка ц)
Параметри: ц => Колекција коју треба претражити на листи.
Повратна вредност: труе => Ако су сви елементи у наведеној колекцији присутни на листи.
Опис: Метода “цонтаинсАлл” проверава да ли су сви елементи присутни у наведеној колекцији присутни на листи. Ако је присутан, враћа истинску вредност, а у супротном фалсе.
Следећи Јава програм демонстрира употребу метода „цонтаинс“ и „цонтаинсАлл“ на листи.
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''); } }
Излаз:
Наведена листа садржи низ „Јава“, али не и низ „Ц“
Листа садржи низове „Руби“ и „Питхон“
једнако
Прототип: боолеан једнако (Објект о)
Параметри: о => Објекат који се тестира на једнакост.
Повратна вредност: тачно => Ако је дати објекат једнак листи.
Опис: Овом методом се упоређује дати објекат са листом једнакости. Ако је наведени објекат листа, метода враћа труе. За обе листе се каже да су једнаке онда и само ако су исте величине, а одговарајући елементи на две листе су једнаки и истим редоследом.
Демонстрација методе једнакости дата је у наставку:
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.
'); } }
Излаз:
Добити
Прототип: Објецт гет (инт индекс)
Параметри: индек => Положај на којем треба вратити елемент.
Повратна вредност: објецт => Елемент на наведеној позицији.
Опис: Метода гет () враћа елемент на задатој позицији.
Овај метод баца „индекОутОфБоундсЕкцептион“ ако је наведени индекс изван опсега листе.
Комплет
Прототип: Скуп објеката (инт индекс, елемент објекта)
Параметри: индек => Положај на којем ће се поставити нови елемент.
елемент => Нови елемент који се поставља на позицију дату индексом.
Повратна вредност: Објект => Елемент који је замењен
Опис: Метод сет () замењује елемент у датом индексу другом вредношћу датом елементом.
Метода може довести до следећих изузетака:
УнсуппортедОператионЕкцептион: Листа не подржава операцију подешавања.
ЦлассЦастЕкцептион: Операција се не може извршити због класе елемента
ИллегалАргументЕкцептион: Аргумент или неки његов аспект је незаконит
ИндекОутОфБоундсЕкцептион: Индекс ван опсега.
Следећи програм приказује пример методе гет () и сет ().
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) ); } }
Излаз:
најбољи бесплатни иоутубе то мп3 довнлоадер
хасхЦоде
Прототип: инт хасхЦоде ()
Параметри: НУЛА
Повратна вредност: инт => хасхЦоде листе
Опис: Метода ‘хасхЦоде ()’ враћа хасхЦоде листе која је целобројна вредност.
Пример:
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); } }
Излаз:
Празно
Прототип: боолеан исЕмпти ()
Параметри: НУЛА
Повратна вредност: труе => Листа је празна
Опис: Метода ‘исЕмпти ()’ проверава да ли је листа празна. ИсЕмпти метода се користи за проверу да ли листа садржи неке елементе у себи пре него што почнете да обрађујете те елементе.
индекс
Прототип: инт индекОф (објекат о)
Параметри: о => елемент за тражење на листи
Повратна вредност: инт => индекс или позиција првог појављивања датог елемента на листи. Приказује -1 ако елемент није присутан.
Опис: Метода ‘индекОф ()’ враћа индекс првог појављивања датог елемента о на листи. Ако елемент није пронађен, враћа -1.
ластИндекОф
Прототип: инт ластИндекОф (објекат о)
Параметри: о => Објект чији индекс треба претражити
Повратна вредност: инт => Индекс последњег појављивања датог елемента на листи, -1 иначе.
Опис: Метода ‘ластИндекОф ()’ враћа индекс последњег појављивања елемента о на листи. Ако елемент није пронађен, метода враћа -1.
Јава програм у наставку приказује употребу метода индекОф и ластИндекОф са листе.
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)); } }
Излаз:
уклонити
Прототип: Уклањање предмета (инт индекс)
Параметри: индек => Индекс или позиција на листи на којој ће се уклонити елемент
Повратна вредност: Објект => Елемент уклоњен
Опис: Метода ‘ремове ()’ уклања елемент са задате позиције са листе. Након брисања, елементи поред избрисаног елемента померају се улево.
Овај метод може довести до следећих изузетака:
УнсуппортедОператионЕкцептион: Листа не подржава уклањање.
ИндекОутОфБоундсЕкцептион: Наведени индекс је ван опсега
уклонити
Прототип: логичко уклањање (објекат о)
Параметри: о => Елемент који треба уклонити са листе
Повратна вредност: труе => Елемент је успешно уклоњен.
Опис: Ова преоптерећена верзија методе ремове () уклања прву појаву датог елемента о са листе. Ако дати елемент није присутан на листи, он остаје непромењен.
Овај метод може довести до следећег изузетка:
УнсуппортедОператионЕкцептион: Листа не подржава уклањање.
уклони све
Прототип: боолеан ремовеАлл (Колекција ц)
Параметри: ц => Колекција која садржи елементе који су уклоњени са листе.
Повратна вредност: тачно => Ако је позив методе успешан и сви елементи наведени у колекцији ц буду уклоњени са листе.
Опис: Метода ‘ремовеАлл ()’ користи се за уклањање свих елемената са листе који су наведени у колекцији ц која се предаје као аргумент.
Овај метод може довести до следећег изузетка:
УнсуппортедОператионЕкцептион: ремовеАлл Листа не подржава.
примери апликација за Интернет ствари
Погледајмо пример метода уклањања и уклањања свих.
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); } }
Излаз:
ретаинАлл
Прототип: боолеан ретаинАлл (Колекција ц)
Параметри: ц => Збирка која садржи елементе које треба задржати на листи.
Повратна вредност: труе => Ако је позив методе променио листу.
Опис: Овом методом уклањају се сви елементи са листе, осим оних који су присутни у колекцији ц. Другим речима, овај метод задржава све елементе на листи који су присутни у колекцији ц и уклања остале елементе.
Овај метод може довести до следећег изузетка:
УнсуппортедОператионЕкцептион: Листа не подржава ретаинАлл.
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); } }
Излаз:
субЛист
Прототип: Листа подлиста (инт фромИндек, инт тоИндек)
Параметри: фромИндек => Доњи индекс листе (укључујући)
тоИндек => Виши индекс листе (ексклузивно)
Повратна вредност: Листа => Подсписак дате листе
Опис: Сублист методе () враћа делимични приказ листе, такође познат као сублист из „фромИндек“ у „тоИндек“. Враћена подлистка је само приказ надређене листе и стога се све промене направљене на било којој листи одражавају свуда.
Слично томе, све операције листе раде и на подлистку.
Метода може да избаци следећи изузетак:
ИндекОутОфБоундсЕкцептион: Незаконита вредност тоИндек-а.
Пример програма за методу подлисте је дат у наставку.
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); } }
Излаз:
сортирај листу
Прототип: сортирање празнина (упоређивач ц)
Параметри: ц => Упоредник на основу којег је листа сортирана.
Повратна вредност: НУЛА
Опис: За сортирање листе користи се метода „сортирај ()“. Метода користи упоређивач наведен за сортирање листе.
Погледајмо пример методе сортирања . Упоредили смо га са методом Цоллецтионс.сорт која сортира елементе у природном низу. Резултат програма је уређена листа.
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); } }
Излаз:
тоАрраи
Прототип: Објецт () тоАрраи ()
Параметри: НУЛА
Повратна вредност: Објект () => Приказ низа у низу
Опис: Метода тоАрраи () враћа приказ низа листе у одговарајућем низу.
тоАрраи
Прототип: Објецт () тоАрраи (Објецт () а)
Параметри: а => Тип низа који треба упарити са типовима елемената на листи док претвара листу у низ.
Повратна вредност: Објект () => Приказ низа у низу.
Опис: Ово преоптерећење методе тоАрраи () враћа низ који садржи елементе на листи који имају исти тип времена извршавања као и низ а.
Овај метод може довести до следећег изузетка:
АрраиСтореЕкцептион: Врста извођења сваког елемента на листи није подтип врсте извршења сваког елемента на овој листи.
Следи пример примене методе тоАрраи.
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)); } }
Излаз:
Итератор
Прототип: Итератор итератор ()
Параметри: НУЛА
Повратна вредност: Итератор => Итератор за итерацију по елементима листе
Опис: Ова метода враћа итератор који се превлачи преко елемената на листи.
Јава програм за демонстрацију помоћу итератора.
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() + ' '); } } }
Излаз:
листИтератор
Прототип: ЛистИтератор листИтератор ()
Параметри: НУЛА
Повратна вредност: ЛистИтератор => Листитератор елемената на листи.
Опис: Метода листИтератор () враћа објект ЛистИтератор елемената на листи. Овај итератор почиње од почетка листе, тј. Индекса 0.
листИтератор
Прототип: ЛистИтератор листИтератор (инт индекс)
Параметри: индек => Положај на којем почиње листИтератор.
Повратна вредност: ЛистИтератор => Објекат ЛистИтератор на наведеном индексу на листи.
Опис: Преоптерећење методе листИтератор () враћа листИтератор који започиње на датој позицији на листи. Дати индекс указује да ће то бити први елемент који ће се вратити првим позивом на нектЕлемент () методу ЛистИтератор.
Метода може бацити ИндекОутОфБоундсЕкцептион због неваљане вредности индекса.
Следећи пример приказује употребу листИтератор.
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() + ' '); } } }
Излаз:
Касније ћемо детаљно разговарати о ЛистИтератору.
Хајде сада да разговарамо о разним операцијама које се могу извршити на листама, али методе за које нису предвиђене у интерфејсу листе.
Копирај листу у Јави
За копирање елемената једне листе на другу листу морате да користите методу цопи () коју пружа оквир Цоллецтионс.
Метода Цоллецтионс.цопи () копира све елементе листе наведене као други аргумент на листу наведену као први аргумент. Имајте на уму да би листа на коју се копира садржај друге листе требала бити довољно велика да прими копиране елементе.
Ако листа није довољно велика, метода копирања баца „индекОутОфБоундсЕекцептион“.
Следећи програм копира садржај једне листе на другу.
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); } }
Излаз:
Уклоните дупликате са листе у Јави
Наведена листа може, али и не мора имати понављајуће елементе или дупликате. Ако листа са којом радите има дупликате и желите да се на њој налазе сви различити елементи, постоје два начина за уклањање дупликата са листе подржане у Јави.
Коришћење Јава 8 стрима
Први метод за уклањање дупликата са листе је коришћењем методе дистинцт () коју пружа Јава 8 стреам. Овде листа која садржи дупликате позива методу стреам () .дистинцт и тада се повратна вредност претвара у нову листу која ће имати само различите елементе.
Следећи програм демонстрира употребу методе дистинцт ().
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); } }
Излаз:
Коришћење приступа Итератор
Уклањање дупликата са листе помоћу итератора је дуготрајан и примитиван приступ. У овом приступу морате прећи листу и ставити прву појаву сваког елемента на нову листу. Сваки следећи елемент се проверава да ли је дупликат.
Програм испод постиже ово.
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) Шта је метода гет на листи на Јави?
Одговор: Метод Гет листе користи се за преузимање одређеног елемента на листи на основу индекса. Потребни индекс прослеђујете методи гет и метода гет враћа вредност елемента на том индексу.
П # 2) Шта је тоАрраи метода у Јави?
Одговор: Метода тоАрраи () користи се за добивање низа који представља листу.
П # 3) Како сортирати листу на Јави?
Одговор: У Јави се листа може сортирати методом сортирања листе. Можете проследити сопствене критеријуме сортирања помоћу интерфејса за упоређивање који се прослеђује методи сортирања као параметар.
Такође можете да користите Збирке. Метод сортирања за сортирање листе. Ова метода сортира листу према природном редоследу.
К # 4) Шта је Арраис.асЛист () на Јави?
Одговор: Метода „асЛист“ низа враћа листу елемената подржаних низом.
Закључак
У овом упутству смо научили све методе које списак пружа. Јава листа пружа разне методе помоћу којих можете манипулисати и обрађивати листе, укључујући претраживање, сортирање итд. Овде смо објаснили сваки метод одговарајућим примерима програмирања.
У нашем предстојећем упутству детаљно ћемо разговарати о ЛистИтератору.
=> Овде истражите једноставну серију Јава тренинга.
Препоручено читање
- Јава листа - Како створити, иницијализовати и користити листу на Јави
- Тајни списак у низ и друге колекције у Јави
- Водич за напредне листе за Питхон (сортирање, преокретање, индексирање, копирање, придруживање, збир)
- Питхон листа - Креирајте, приступите, исеците, додајте или избришите елементе
- Јава теме са методама и животним циклусом
- Уклони / избриши елемент из низа у Јави
- Јава Стринг Водич | Јава стринг методе са примерима
- Подразумевана листа ИП адреса рутера за уобичајене брендове бежичних рутера