arraylist methods java tutorial with example programs
У овом упутству ћемо разговарати о методама Јава АрраиЛист као што су адд, аддАлл, ремове, ремовеАлл, сизе, цонтаинс, ретаинАлл, Сорт, Реверсе, итд. Са примерима:
У претходном упутству истражили смо структуру података АрраиЛист и класа АрраиЛист обезбедила је ову структуру података / колекцију на Јави. Научили смо стварање, иницијализацију итд. Објеката АрраиЛист.
Поред ових карактеристика које нам помажу да дефинишемо АрраиЛист, класа АрраиЛист у Јави такође нуди пуноправни АПИ функције који се састоји од метода које се користе за манипулацију објектима АрраиЛист.
=> Овде проверите СВЕ Јава туторијале.
Ове методе омогућавају нам додавање, брисање, претраживање елемената у АрраиЛист-у, као и проналажење дужине / величине елемената АрраиЛист, итд.
У овом упутству детаљно ћемо размотрити ове методе са једноставним примерима програмирања.
Шта ћете научити:
- АрраиЛист методе у Јави
- АрраиЛист адд
- АрраиЛист аддАлл
- АрраиЛист Додај на предњу страну
- АрраиЛист ремове
- АрраиЛист ремовеАлл
- АрраиЛист ремовеРанге
- АрраиЛист величина (дужина)
- АрраиЛист садржи
- АрраиЛист гет
- Скуп арраиЛист (заменити елемент)
- АрраиЛист цлеар
- АрраиЛист исЕмпти
- АрраиЛист индекОф
- АрраиЛист ластИндекОф
- АрраиЛист тоАрраи
- Клон АрраиЛист
- АрраиЛист субЛист
- АрраиЛист ретаинАлл
- АрраиЛист Итератор
- АрраиЛист листИтератор
- Додај низ на АрраиЛист у Јави
- Сортирај АрраиЛист у Јави
- Обрни листу арраи-а у Јави
- Уклоните дупликате са листе низова у Јави
- Насумично премештајте (насумично) списак низова у Јави
- Често постављана питања
- Закључак
АрраиЛист методе у Јави
Следећа табела наводи све методе које нуди класа АрраиЛист.
Метод | Прототип методе | Метод Опис |
---|---|---|
Садржи | боолеан садржи (објекат о) | Проверава да ли листа садржи дати елемент „о“. Враћа тачно ако је елемент присутан. |
Додати | логички додатак (Е е) | Додаје дати елемент е на крај листе. |
воид адд (инт индекс, Е елемент) | Додаје дати елемент „елемент“ на наведеној позицији „индекс“. | |
АддАлл | боолеан аддАлл (Колекција ц) | Додаје све елементе у датој колекцији ц на крај листе. |
боолеан аддАлл (инт индекс, Збирка ц) | Додаје све елементе у датој колекцији ц на позицији наведеној ‘индексом’ на листи. | |
Јасно | воид цлеар () | Брише листу уклањањем свих елемената са листе. |
Клонирај | Клон објекта () | Прави плитку копију датог АрраиЛист-а. |
осигуратикапацитет | воид сецуреЦапацити (инт минЦапацити) | Повећава капацитет АрраиЛист-а како би се осигурало да има минЦапацити. |
Добити | Е гет (инт индекс) | Враћа елемент на листи присутан на положају наведеном са „индекс“. |
индекс | инт индекОф (објекат о) | Враћа индекс првог појављивања елемента о на листи. -1 ако елемент о није присутан на листи. |
Празно | боолеан исЕмпти () | Проверава да ли је дата листа празна. |
Итератор | Итератор итератор () | Враћа итератор за прелазак преко елемената листе у правилном низу. |
ластИндекОф | инт ластИндекОф (објекат о) | Враћа индекс последњег појављивања наведеног елемента о на листи. -1 ако елемент није присутан на листи. |
листИтератор | ЛистИтератор листИтератор () | Враћа итератор листе за прелазак преко елемената дате листе. |
ЛистИтератор листИтератор (инт индекс) | Враћа итератор листе почев од наведеног положаја ‘индекс’ да би прелазио преко елемената дате листе. | |
уклонити | Е уклони (инт индекс) | Брише елемент на ‘индексу’ у АрраиЛист-у. |
логичко уклањање (објекат о) | Брише прву појаву елемента о са листе. | |
уклони све | боолеан ремовеАлл (Колекција ц) | Уклања све елементе са листе који се подударају са елементима у датој колекцији ц. |
ремовеРанге | заштићена празнина ремовеРанге (инт фромИндек, инт тоИндек) | Уклања елементе наведене у датом опсегу, одИндек (укључујући) доИндек (ексклузивно) са листе. |
ретаинАлл | боолеан ретаинАлл (Колекција ц) | Задржава оне елементе на листи који се подударају са елементима у датој колекцији ц. |
комплет | Е сет (индекс инт, Е елемент) | Поставља вредност елемента у датом „индексу“ на нову вредност коју даје „елемент“. |
величина | инт величина () | Приказује укупан број елемената или дужину листе. |
субЛист | Листа подлиста (инт фромИндек, инт тоИндек) | Враћа подлисту између датог опсега, од индекса до индекса за дату листу. |
тоАрраи | Објецт () тоАрраи () | Претвара дату листу у низ. |
Т () доАрраи (Т () а) | Претвара дату листу у низ типа који даје а. | |
тримТоСизе | воид тримТоСизе () | Смањује капацитет АрраиЛист на величину или број елемената присутних на листи. |
Даље ћемо детаљно размотрити сваку од ових метода из АПИ-ја функције АрраиЛист и представити примере програмирања. Након разговора о свим горе наведеним методама, такође ћемо предузети неке специфичне операције које се изводе помоћу АрраиЛистс који нису део АПИ-ја функције АрраиЛист.
АрраиЛист адд
Ја
Прототип: логички додатак (Е е)
Параметри: е => Елемент који треба додати на АрраиЛист.
Повратна вредност: тачно => Елемент је успешно додат.
Опис: Додаје дати елемент е на крај листе.
ИИ.
Прототип: воид адд (инт индекс, Е елемент)
Параметри:
индек => Положај на којем треба додати елемент.
Елемент => Елемент који се додаје на АрраиЛист.
Повратна вредност: празнина
Опис: Додаје дати елемент „елемент“ на наведеној позицији „индекс“ померањем елемента на тој позицији и следећих елемената удесно.
Изузеци: ИндекОутОфБоундсЕкцептион => Ако је наведени индекс ван опсега.
АрраиЛист аддАлл
Ја
Прототип: боолеан аддАлл (Колекција ц)
Параметри: ц => Колекција чији се елементи додају у АрраиЛист.
Повратна вредност: труе => Ако је операција променила АрраиЛист.
Опис: Додаје све елементе у датој колекцији ц на крај листе. Резултат операције је недефинисан ако је колекција промењена током операције.
Изузеци: НуллПоинтерЕкцептион => Ако је дата колекција ц нулл.
ил
Прототип: боолеан аддАлл (инт индекс, Збирка ц)
Параметри: индекс => Положај на којем се додају елементи у датој колекцији.
Повратна вредност: тачно => Ако се листа променила као резултат операције.
Опис: Додаје све елементе у датој колекцији ц на позицији наведеној ‘индексом’ на листи. Елемент наведеног индекса и наредни елементи померају се удесно. Резултат операције је недефинисан ако се колекција која се додаје мења током операције.
Изузеци: ИндекОутОфБоундсЕкцептион: ако је индекс где треба додати колекцију ван граница
НуллПоинтерЕкцептион: ако је дата колекција ц нулл.
Следећи Јава програм приказује употребу метода адд и аддАлл.
import java.util.*; class Main{ public static void main(String args()){ //create an ArrayList ArrayList city_List=new ArrayList(); //add elements to the ArrayList using add method city_List.add('Delhi'); city_List.add('Mumbai'); city_List.add('Chennai'); city_List.add('Kolkata'); //print the list System.out.println('Initial ArrayList:' + city_List); //add an element at index 1 using add method overload city_List.add(1, 'NYC'); //print the list System.out.println('
rrayList after adding element at index 1:' + city_List); //define a second list ArrayList more_Cities = new ArrayList(Arrays.asList('Pune', 'Hyderabad')); //use addAll method to add the list to ArrayList at index 4 city_List.addAll(4,more_Cities); //print the list System.out.println('
ArrayList after adding list at index 4:' + city_List); } }
Излаз:
Почетна листа низова: (Делхи, Мумбај, Ченај, Колката)
рраиЛист након додавања елемента у индекс 1: (Делхи, НИЦ, Мумбаи, Цхеннаи, Колката)
АрраиЛист након додавања листе у индекс 4: (Делхи, НИЦ, Мумбаи, Цхеннаи, Пуне, Хидерабад, Колката)
Горњи програм користи обе верзије методе адд за додавање елемената на листу. Такође додаје збирку на листу по наведеном индексу. Обратите пажњу на померање елемената удесно од АрраиЛист, што је видљиво из резултата програма.
АрраиЛист Додај на предњу страну
Као што је већ поменуто, прва верзија методе адд додаје елементе на крај листе. Ако желите да додате елементе на почетку АрраиЛист-а, тада морате да користите другу верзију методе адд. Ова метода додавања узима индекс као параметар. Овај индекс је позиција на којој се елемент додаје.
Тако да бисте додали елемент на почетак листе, морате навести индекс као 0 што је почетак листе.
Следећи програм додаје елемент на предњу страну АрраиЛист-а.
import java.util.ArrayList; public class Main { public static void main(String() args) { //define new ArrayList and initialize it ArrayList numList = new ArrayList(); numList.add(5); numList.add(7); numList.add(9); //print the ArrayList System.out.println('Initial ArrayList:'); System.out.println(numList); //use add method with index=0 to add elements to the beginning of the list numList.add(0, 3); numList.add(0, 1); System.out.println('ArrayList after adding elements at the beginning:'); //print ArrayList System.out.println(numList); } }
Излаз:
имплементација хеширања у ц ++
Почетна листа низова:
(5, 7, 9)
АрраиЛист након додавања елемената на почетку:
(1, 3, 5, 7, 9)
АрраиЛист ремове
И.
Прототип: Е уклони (инт индекс)
Параметри: индек => Положај на којем ће се елемент уклонити са АрраиЛист.
Повратна вредност: Е => Елемент који се брише
Опис: Брише елемент на ‘индексу’ у АрраиЛист-у и помера наредне елементе улево.
Изузеци: ИндекОутОфБоундсЕкцептион => Наведени индекс је ван опсега.
ИИ.
Прототип: логичко уклањање (објекат о)
Параметри: о => Елемент који треба уклонити са АрраиЛист-а.
Повратна вредност: тачно => Ако је елемент присутан на листи.
Опис: Брише прву појаву елемента о са листе. Ако елемент није присутан на листи, тада нема ефекта ове операције. Једном када се елемент избрише, следећи елементи се померају улево.
АрраиЛист ремовеАлл
Прототип: боолеан ремовеАлл (Колекција ц)
Параметри: ц => Колекција чији се елементи подударају са елементима АрраиЛист-а и треба их уклонити.
Повратна вредност: труе => Ако је операција променила АрраиЛист.
Опис: Уклања све елементе са листе који се подударају са елементима у датој колекцији ц. Као резултат, преостали елементи су померени лево од листе.
Изузеци: ЦлассЦастЕкцептион => Класа није иста као она наведене колекције која имплицира да је класа некомпатибилна.
НуллПоинтерЕкцептион => Ако је дата колекција ц нулл; или ако ц има нулл елемент и колекција то не дозвољава.
АрраиЛист ремовеРанге
Прототип: заштићена празнина ремовеРанге (инт фромИндек, инт тоИндек)
Параметри: фромИндек => Индекс почетног елемента опсега који се уклања.
тоИндек => Индекс елемента након последњег елемента у опсегу који се уклања.
Повратна вредност: празнина
Опис: Уклања елементе наведене у датом опсегу, одИндек (укључујући) доИндек (ексклузивно) са листе. Ова операција скраћује дужину листе за (тоИндек-фромИндек). Ова операција нема ефекта у случају фромИндек = тоИндек.
Изузеци: ИндекОутОфБоундсЕкцептион => Ако је неки од индекса (фромИндек или тоИндек) ван граница.
Применимо Јава програм да демонстрирамо неке од ових метода уклањања о којима смо горе говорили.
import java.util.*; class Main{ public static void main(String args()){ //create an ArrayList ArrayList city_List=new ArrayList(Arrays.asList('Delhi','Mumbai','Chennai', 'Kolkata', 'Pune', 'Hyderabad')); //print the list System.out.println('Initial ArrayList:' + city_List); //remove element at index 2 city_List.remove(2); //print the list System.out.println('
ArrayList after removing element at index 2:' + city_List); //remove the element 'Kolkata' city_List.remove('Kolkata'); //print the list System.out.println('
ArrayList after removing element -> Kolkata:' + city_List); //create new list ArrayList newCities=new ArrayList(Arrays.asList('Delhi','Hyderabad')); //call removeAll to remove elements contained in newCities list. city_List.removeAll(newCities); //print the list System.out.println('
ArrayList after call to removeAll:' + city_List); } }
Излаз:
Почетна листа низова: (Делхи, Мумбаи, Ченај, Колката, Пуна, Хајдерабад
АрраиЛист након уклањања елемента у индексу 2: (Делхи, Мумбаи, Колката, Пуне, Хидерабад)
АрраиЛист након уклањања елемента -> Колката: (Делхи, Мумбаи, Пуне, Хидерабад)
Листа арраи-а након позива за уклањање свих: (Мумбаи, Пуна)
АрраиЛист величина (дужина)
Прототип: инт величина ()
Параметри: НУЛА
Повратна вредност: инт => Број елемената у АрраиЛист.
Опис: Приказује укупан број елемената или дужину АрраиЛист.
ЕнсуреЦапацити
Прототип: воид сецуреЦапацити (инт минЦапацити)
Параметри: минЦапацити => Минимални капацитет жељени за АрраиЛист.
Повратна вредност: празнина
Опис: Повећава капацитет АрраиЛист-а како би се осигурало да има минЦапацити.
тримТоСизе
Прототип: воид тримТоСизе ()
Параметри: НУЛА
Повратна вредност: празнина
Опис: Смањује капацитет АрраиЛист на величину или број елемената присутних на листи.
Доле наведени пример програмирања приказује методе сизе (), сецуреЦапацити () и тримТоСизе ().
import java.util.ArrayList; public class Main { public static void main(String () args) { //Create and initialize Arraylist ArrayList evenList=new ArrayList(5); System.out.println('Initial size: '+evenList.size()); evenList.add(2); evenList.add(4); evenList.add(6); evenList.add(8); evenList.add(10); //print the list and size System.out.println('Original List: ' + evenList); System.out.println('ArrayList Size after add operation: '+evenList.size()); //call ensureCapacity () with minimum capacity =10 evenList.ensureCapacity(10); //add two more elements evenList.add(12); evenList.add(14); //print the size again System.out.println('ArrayList Size after ensureCapacity() call and add operation: '+evenList.size()); //call trimToSize() evenList.trimToSize(); //print the size and the ArrayList System.out.println('ArrayList Size after trimToSize() operation: '+evenList.size()); System.out.println('ArrayList final: '); for(int num: evenList){ System.out.print(num + ' '); } } }
Излаз:
Почетна величина: 0
Оригинална листа: (2, 4, 6, 8, 10)
Величина арраиЛист-а након операције додавања: 5
Величина арраиЛист-а након позива и додавања операција „осигурајКапацитет“): 7
Величина арраиЛист-а након операције тримТоСизе (): 7
АрраиЛист финал:
2 4 6 8 10 12 14
АрраиЛист садржи
Прототип: боолеан садржи (објекат о)
Параметри: о => Елемент који треба проверити ако је присутан у АрраиЛист.
Повратна вредност: тачно => Ако АрраиЛист садржи елемент о.
Опис: Проверава да ли листа садржи дати елемент „о“. Враћа тачно ако је елемент присутан.
Методу „садржи“ користимо у следећем програму.
import java.util.ArrayList; public class Main { public static void main(String() args) { //create and initialize colorsList ArrayList colorsList = new ArrayList(); colorsList.add('Red'); colorsList.add('Green'); colorsList.add('Blue'); colorsList.add('White'); //call contains method to check if different strings are present in ArrayList System.out.println('ArrayList contains ('Red Green'): ' +colorsList.contains('Red Green')); System.out.println('ArrayList contains ('Blue'): ' +colorsList.contains('Blue')); System.out.println('ArrayList contains ('Yellow'): ' +colorsList.contains('Yellow')); System.out.println('ArrayList contains ('White'): ' +colorsList.contains('White')); } }
Излаз:
АрраиЛист садржи („Црвено зелено“): нетачно
АрраиЛист садржи (‘Блуе’): труе
АрраиЛист садржи (‘Жута’): фалсе
АрраиЛист садржи („бело“): тачно
Као што је приказано у горњем излазу, метода ‘цонтаинс’ проверава да ли је наведени аргумент присутан у АрраиЛист и враћа ли труе или фалсе.
АрраиЛист гет
Прототип: Е гет (инт индекс)
Параметри: индек => Индекс код којег елемента се преузима из АрраиЛист.
Повратна вредност: Е => Вредност елемента на датом индексу у АрраиЛист.
Опис: Враћа елемент на листи присутан на положају наведеном са „индекс“.
Изузеци: ИндекОутОфБоундсЕкцептион => Ако је индекс ван граница.
Скуп арраиЛист (заменити елемент)
Прототип: Е сет (индекс инт, Е елемент)
Параметри: индек => Индекс код којег ће се елемент заменити.
Елемент => Нови елемент који треба поставити на наведени индекс.
Повратна вредност: Е => Елемент који је замењен подешеном операцијом.
Опис: Поставља вредност елемента у датом „индексу“ на нову вредност коју даје „елемент“.
Изузеци: ИндекОутОфБоундсЕкцептион => Ако је индекс ван граница
Јава програм у наставку користи методу гет () и сет () за преузимање и замену вредности у АрраиЛист.
import java.util.ArrayList; public class Main { public static void main(String() args) { //create and initialize colorsList ArrayList colorsList = new ArrayList(); colorsList.add('Red'); colorsList.add('Green'); colorsList.add('Blue'); colorsList.add('White'); //call get () method to retrieve value at index 2 System.out.println('Entry at index 2 before call to set: ' + colorsList.get(2)); //replace the value at index 2 with new value colorsList.set(2,'Yellow'); //print the value at index 2 again System.out.println('Entry at index 2 after call to set: ' + colorsList.get(2)); } }
Излаз:
Унос у индексу 2 пре позива за подешавање: плаво
Унос у индекс 2 након позива за подешавање: Жута
АрраиЛист цлеар
Прототип: воид цлеар ()
Параметри: НУЛА
Повратна вредност: празнина
Опис: Брише листу уклањањем свих елемената са листе.
АрраиЛист исЕмпти
Прототип: боолеан исЕмпти ()
Параметри: НУЛА
Повратна вредност: тачно => ако је листа празна
Опис: Проверава да ли је дата листа празна.
Функције Цлеар () и исЕмпти () су приказане у наставку.
import java.util.ArrayList; public class Main { public static void main(String() args) { //create and initialize colorsList ArrayList colorsList = new ArrayList(); colorsList.add('Red'); colorsList.add('Green'); colorsList.add('Blue'); colorsList.add('White'); //print the ArrayList System.out.println('The ArrayList: ' + colorsList); //call clear() nethod on ArrayList colorsList.clear(); //check if ArrayList is empty using isEmpty() method System.out.println('Is ArrayList empty after clear ()? :' + colorsList.isEmpty()); } }
Излаз:
Листа Арраи: (црвена, зелена, плава, бела)
Да ли је АрраиЛист празан након цлеар ()? :истинито
АрраиЛист индекОф
Прототип: инт индекОф (објекат о)
Параметри: о => Елемент чији се индекс налази у АрраиЛист.
Повратна вредност: инт => Индекс првог појављивања елемента на листи.
Опис: Враћа индекс првог појављивања елемента о на листи. -1 ако елемент о није присутан на листи.
АрраиЛист ластИндекОф
Прототип: инт ластИндекОф (објекат о)
Параметри: о => Елемент који треба тражити.
Повратна вредност: инт => Индекс последњег појављивања елемента на листи.
Опис: Враћа индекс последњег појављивања наведеног елемента о на листи. -1 ако елемент није присутан на листи.
Доле наведени Јава програм приказује методе индекОф и ластИндекОф АрраиЛист.
import java.util.ArrayList; public class Main { public static void main(String() args) { //create and initialize intList ArrayList intList = new ArrayList(); intList.add(1); intList.add(1); intList.add(2); intList.add(3); intList.add(5); intList.add(3); intList.add(2); intList.add(1); intList.add(1); //print the ArrayList System.out.println('The ArrayList: ' + intList); //call indexOf() and lastIndexOf() methods to check the indices of specified elements System.out.println('indexOf(1) : ' + intList.indexOf(1)); System.out.println('lastIndexOf(1) : ' + intList.lastIndexOf(1)); System.out.println('indexOf(2) : ' + intList.indexOf(2)); System.out.println('lastIndexOf(2) : ' + intList.lastIndexOf(2)); System.out.println('indexOf(3) : ' + intList.indexOf(3)); System.out.println('lastIndexOf(3) : ' + intList.lastIndexOf(3)); System.out.println('indexOf(5) : ' + intList.indexOf(5)); System.out.println('lastIndexOf(5) : ' + intList.lastIndexOf(5)); } }
Излаз:
Листа Арраи: (1, 1, 2, 3, 5, 3, 2, 1, 1)
индекОф (1): 0
ластИндекОф (1): 8
индекОф (2): 2
ластИндекОф (2): 6
индекс (3): 3
ластИндекОф (3): 5
индекс (5): 4
ластИндекОф (5): 4
АрраиЛист тоАрраи
Прототип: Објецт () тоАрраи ()
Параметри: НУЛА
Повратна вредност: Објект () => низ. Овај враћени низ садржи све елементе листе у правилном низу.
Опис: Претвара дату листу у низ.
Прототип: Т () доАрраи (Т () а)
Параметри: а => Низ за чување елемената листе. Ако величина низа није довољна за елементе листе, креира се други низ истог типа као а за чување елемената.
Питања и одговори за Салесфорце интервју за програмере са искуством
Повратна вредност: Т () => Низ који садржи све елементе листе.
Опис: Претвара дату листу у низ типа који даје а.
Изузеци: АрраиСтореЕкцептион => Ако постоји неусклађеност у рунтиме типу низа и рунтиме типу или супертипу његових елемената.
НуллПоинтерЕкцептион => Дати низ је нулл
Јава програм у наставку приказује методу тоАрраи од АрраиЛист.
import java.util.*; public class Main { public static void main(String() args) { // define and initialize ArrayList ArrayList intList = new ArrayList(); intList.add(10); intList.add(20); intList.add(30); intList.add(40); intList.add(50); // print ArrayList System.out.println('ArrayList: ' + intList); //declare array Integer myArray() = new Integer(intList.size()); //use toArray method to convert ArrayList to Array myArray = intList.toArray(myArray); //print the Array System.out.println('Array from ArrayList:' + Arrays.toString(myArray)); } }
Излаз:
АрраиЛист: (10, 20, 30, 40, 50)
Низ са АрраиЛист: (10, 20, 30, 40, 50)
Клон АрраиЛист
Прототип: Клон објекта ()
Параметри: НУЛА
Повратна вредност: Објект => Клон инстанце АрраиЛист.
Опис: Прави плитку копију датог АрраиЛист-а.
import java.util.ArrayList; public class Main { public static void main(String a()){ ArrayList fruitsList = new ArrayList(); //Adding elements to the ArrayList fruitsList.add('Apple'); fruitsList.add('Orange'); fruitsList.add('Melon'); fruitsList.add('Grapes'); System.out.println('Original ArrayList: '+fruitsList); ArrayList clone_list = (ArrayList)fruitsList.clone(); System.out.println('Cloned ArrayList: '+ clone_list); //add one elmeent & remove one element from original arraylist fruitsList.add('Mango'); fruitsList.remove('Orange'); //print original and cloned ArrayList again System.out.println('
Original ArrayList after add & remove:'+fruitsList); System.out.println('Cloned ArrayList after original changed:'+clone_list); } }
Излаз:
Оригинална листа арраи: (јабука, наранџа, диња, грожђе)
Клонирани списак низова: (јабука, наранџа, диња, грожђе)
Оригинална листа низова након додавања и уклањања: (јабука, диња, грожђе, манго)
Клонирана листа низова након промене оригинала: (јабука, наранџа, диња, грожђе)
Из горњег резултата програма можете видети да је клонирани АрраиЛист плитка копија оригиналног АрраиЛист-а. То значи да када се оригинални АрраиЛист промени, ове промене се не одражавају у клонираном АрраиЛисту јер не деле меморијске локације сваког елемента.
Да бисте направили дубинску копију Арраи-а, потребно је прећи преко оригиналног АрраиЛист-а и копирати сваки његов елемент на одредишни АрраиЛист.
АрраиЛист субЛист
Прототип: Листа подлиста (инт фромИндек, инт тоИндек)
Параметри: фромИндек => Почетни индекс опсега (укључујући)
тоИндек => Крајњи индекс опсега (ексклузивно)
Повратна вредност: Листа => Списак листе у датом опсегу.
Опис: Враћа подлисту између датог опсега, од индекса до индекса за дату листу. Имајте на уму да ова подлиста или приказ листе у датом опсегу подржава све операције које листа подржава. Ниједан приказ се не враћа ако је фромИндек = тоИндек.
Изузеци: ИндекОутОфБоундсЕкцептион => Бачено када је тоИндек ван домета.
ИллегалАргументЕкцептион => Ако фромИндек> тоИндек, тј. Индекси нису у реду.
Погледајмо пример методе субЛист.
import java.util.ArrayList; import java.util.List; class Main{ public static void main(String a()){ //create and initialize the ArrayList ArrayList intList = new ArrayList(); intList.add(5); intList.add(10); intList.add(15); intList.add(20); intList.add(25); intList.add(30); intList.add(35); intList.add(40); intList.add(45); intList.add(50); //print the ArrayList System.out.println('Original ArrayList: '+intList); //create a sublist for the given ArrayList ArrayList sub_ArrayList = new ArrayList(intList.subList(2, 6)); //print the sublist System.out.println('Sublist of given ArrayList: '+sub_ArrayList); } }
Излаз:
Оригинална листа низова: (5, 10, 15, 20, 25, 30, 35, 40, 45, 50)
Списак датих АрраиЛист: (15, 20, 25, 30)
АрраиЛист ретаинАлл
Прототип: боолеан ретаинАлл (Колекција ц)
Параметри: ц => Колекција са елементима које треба задржати на листи.
Повратна вредност: труе => Ако се АрраиЛист променио као резултат операције.
Опис: Задржава оне елементе на листи који се подударају са елементима у датој колекцији ц.
Изузеци: ЦлассЦастЕкцептион => Тип колекције и тип листе се не подударају
НуллПоинтерЕкцептион => Дата колекција је нула или листа садржи нулл елемент, а колекција не дозвољава нуле.
Следећи програм демонстрира методу ретаинАлл.
import java.util.*; class Main{ public static void main(String args()){ //create and initialize ArrayList ArrayList colorsList=new ArrayList(); colorsList.add('Red'); colorsList.add('Green'); colorsList.add('Blue'); colorsList.add('Yellow'); //print the ArrayList System.out.println('Original ArrayList:' + colorsList); //define another collection ArrayList color_collection=new ArrayList(); color_collection.add('Red'); color_collection.add('Blue'); System.out.println('Collection elements to be retained in the list:' + color_collection); //call retainAll method with above collection as an argument colorsList.retainAll(color_collection); //print the ArrayList after retainAll call. System.out.println('ArrayList after retainAll call:' + colorsList); } }
Излаз:
Оригинална листа низова: (црвена, зелена, плава, жута)
Елементи колекције који ће се задржати на листи: (Црвена, Плава)
Листа арраи-а након задржавања свих позива: (Црвена, Плава)
АрраиЛист Итератор
Прототип: Итератор итератор ()
Параметри: НУЛА
Повратна вредност: Итератор => итератор преко елемената листе.
Опис: Враћа итератор за прелазак преко елемената листе у правилном низу.
АрраиЛист листИтератор
И.
Прототип: ЛистИтератор листИтератор ()
Параметри: НУЛА
Повратна вредност: ЛистИтератор => листИтератор преко елемената листе.
Опис: Враћа итератор листе за прелазак преко елемената дате листе.
ИИ.
Прототип: ЛистИтератор листИтератор (инт индекс)
Параметри: индек => Положај првог елемента у листИтератор.
Повратна вредност: ЛистИтератор => ЛистИтератор за листу из наведеног индекса.
Опис: Враћа итератор листе почев од наведеног положаја ‘индекс’ да би прелазио преко елемената дате листе.
Изузеци: ИндекОутОфБоундсЕкцептион => Дати индекс је ван опсега.
Пример метода итератор () и листИтератор ().
import java.util.*; class Main{ public static void main(String args()){ //create ArrayList and initialize it ArrayList cities=new ArrayList(); cities.add('Mumbai'); cities.add('Pune'); cities.add('Hyderabad'); cities.add('Delhi'); //use iterator() method to traverse through the list System.out.println('List contents using Iterator () method:'); Iterator iter=cities.iterator(); while(iter.hasNext()){ System.out.print(iter.next() + ' '); } //use listIterator() method to traverse through the list System.out.println('
List contents using listIterator () method:'); ListIterator list_iter=cities.listIterator(); while(list_iter.hasNext()) { System.out.print(list_iter.next() + ' '); } } }
Излаз:
Садржај пописа помоћу методе Итератор ():
Мумбаи Пуне Хидерабад Делхи
Садржај листе помоћу методе листИтератор ():
Мумбаи Пуне Хидерабад Делхи
Додај низ на АрраиЛист у Јави
АрраиЛист подржава методу аддАлл за додавање елемената колекције у АрраиЛист. На сличан начин, АрраиЛист-у можете додати и Арраи. То се ради помоћу методе ‘Цоллецтионс.аддАлл’.
Пример додавања низа у листу АрраиЛист.
import java.util.*; class Main{ public static void main(String args()){ //create an ArrayList ArrayList city_List=new ArrayList(); //add elements to the ArrayList using add method city_List.add('Delhi'); city_List.add('Mumbai'); city_List.add('Chennai'); city_List.add('Kolkata'); //print ArrayList System.out.println('
Initial ArrayList :' + city_List); //define an array. String() myArray = new String(){'Cochin', 'Goa'}; //add the array to the ArrayList Collections.addAll(city_List,myArray); //print the ArrayList System.out.println('
ArrayList after adding array :' + city_List); } }
Излаз:
Почетна листа низова: (Делхи, Мумбај, Ченај, Колката)
АрраиЛист након додавања низа: (Делхи, Мумбаи, Цхеннаи, Колката, Цоцхин, Гоа)
Сортирај АрраиЛист у Јави
АрраиЛист користи методу Цоллецтионс.сорт за сортирање његових елемената. Листа је подразумевано сортирана у растућем редоследу методом Цоллецтионс.сорт. Ако ће се АрраиЛист сортирати у опадајућем редоследу, тада морате методу сортирања дати „Цоллецтионс.реверсеОрдер ()“ параметар.
Доље је дат програм за сортирање АрраиЛист-а у растућем и силазном редоследу:
import java.util.*; public class Main { public static void main(String args()){ //Create and initialize an ArrayList ArrayList colorsList = new ArrayList(); colorsList.add('Red'); colorsList.add('Green'); colorsList.add('Blue'); colorsList.add('Yellow'); //print initial ArrayList System.out.println('Initial ArrayList:' + colorsList); //sort ArrayList in ascending order Collections.sort(colorsList); //print sorted ArrayList System.out.println('
ArrayList sorted in ascending order:'); System.out.println(colorsList); //sort ArrayList in reverse(desending) order Collections.sort(colorsList, Collections.reverseOrder()); //print sorted list System.out.println('
ArrayList sorted in descending order:'); System.out.println(colorsList); } }
Излаз:
Почетна листа низова: (црвена, зелена, плава, жута)
АрраиЛист сортирано у растућем редоследу:
(Плава, Зелена, Црвена, Жута)
АрраиЛист сортирано у опадајућем редоследу:
(Жута, Црвена, Зелена, Плава)
У случају да АрраиЛист садржи друге објекте класе као елементе, тада можете да користите интерфејсе Цомпарабле и Цомпаратор. Више детаља о интерфејсима биће покривено у нашим каснијим водичима.
Обрни листу арраи-а у Јави
Такође можете обрнути АрраиЛист у Јави. Један од начина да се то уради је употреба традиционалне методе преласка АрраиЛист-ом у обрнутом редоследу и копирање сваког елемента у нови АрраиЛист.
Друга метода је употреба класе Цоллецтионс која пружа метод „обрнуто“ који се користи за обртање колекције.
колико има компанија за сајбер безбедност
Програм за обртање АрраиЛист-а помоћу класе Цоллецтионс дат је у наставку.
import java.io.*; import java.util.*; public class Main { public static void main(String() args) { // create and initialize an ArrayList ArrayList oddList = new ArrayList(); oddList.add(1); oddList.add(3); oddList.add(5); oddList.add(7); oddList.add(9); System.out.print('Initial ArrayList: ' + oddList); // use Collections.reverse method to reverse the ArrayList Collections.reverse(oddList); //print the ArrayList System.out.print('
Reversed ArrayList: ' + oddList); } }
Излаз:
Почетна листа низова: (1, 3, 5, 7, 9)
Обрнута листа низова: (9, 7, 5, 3, 1)
Уклоните дупликате са листе низова у Јави
Да бисте уклонили дупликате са АрраиЛист-а, можете поново да прибегнете традиционалном методу кориштења итератора за прелазак кроз АрраиЛист и похраните само прву појаву елемента у други АрраиЛист.
Још једна метода је употреба методе ‘дистинцт ()’ класе стреам (). Ова метода враћа ток различитих елемената. Функција стреам () доступна је у Јави од Јаве 8 надаље.
Примена методе стреам () .дистинцт () дата је у наставку:
import java.util.*; import java.util.stream.Collectors; public class Main { public static void main(String() args) { // Create an ArrayList of numbers ArrayList numList = new ArrayList (Arrays.asList(1, 2, 3, 1, 3, 5, 5, 6, 6, 7, 7, 8, 8)); //print the original ArrayList System.out.println('Original ArrayList:' + numList); //Use Java 8 stream().distinct() method to remove duplicates from the list List distinctList = numList.stream().distinct().collect(Collectors.toList()); //print the new list System.out.println('ArrayList without duplicates:' + distinctList); } }
Излаз:
Оригинална листа низова: (1, 2, 3, 1, 3, 5, 5, 6, 6, 7, 7, 8, 8)
АрраиЛист без дупликата: (1, 2, 3, 5, 6, 7, 8)
Насумично премештајте (насумично) списак низова у Јави
Такође можете да „премешате“ или насумично подешавате елементе АрраиЛист. То се ради методом Цоллецтионс.схуффле (). Користећи ову методу, можете премешати АрраиЛист са подразумеваним подешавањима или пружити функцију рандом () која ће рандомизирати елементе према датој случајној вредности.
Јава програм за постизање овог дат је у наставку.
import java.util.*; public class Main { public static void main(String() args) { //create and initialize a String ArrayList ArrayList strlist = new ArrayList(); strlist.add('east'); strlist.add('west'); strlist.add('north'); strlist.add('south'); strlist.add('southwest'); strlist.add('northeast'); //print the original list System.out.println('Original ArrayList :
' + strlist); //shuffle the ArrayList without random function Collections.shuffle(strlist); System.out.println('
Shuffled ArrayList without Random() :
' + strlist); // shuffle the ArrayList with random() function Collections.shuffle(strlist, new Random()); System.out.println('
Shuffled ArrayList with Random() :
' + strlist); // use random (2) to shuffle the ArrayList Collections.shuffle(strlist, new Random(2)); System.out.println('
Shuffled ArrayList with Random(2) :
' + strlist); } }
Излаз:
Оригинална листа низова: (исток, запад, север, југ, југозапад, североисток) премештена листа низова без насумичних (): (север, североисток, исток, југозапад, југ, запад)
Насумична листа низова са случајним (): (југ, исток, север, североисток, запад, југозапад)
Насумична листа низова са случајним (2): (југозапад, југ, исток, североисток, север, запад)
Често постављана питања
П # 1) Која је разлика између хомогених и хетерогених контејнера у Јави?
Одговор: Хомогени контејнери садрже предмете / елементе исте врсте. С друге стране, хетерогени контејнери имају предмете мешовитог типа.
К # 2) Да ли је АрраиЛист у Јави хетероген?
Одговор: Да. Будући да АрраиЛистс подржавају генеричке и стога брисање типова, може садржати мешовите објекте када се примени као генерички АрраиЛист.
К # 3) Да ли АрраиЛист може да ускладишти инт?
Одговор: Не. АрраиЛистс не могу да чувају вредности попут инт, али могу да чувају Интегер објекте јер АрраиЛистс могу да садрже само објекте. Стога за чување примитивних типова треба да користите класе омотача попут Интегер за интс.
К # 4) Шта се дешава када је АрраиЛист пун?
Одговор: Сваки АрраиЛист објекат има функцију названу „капацитет“. Када је АрраиЛист пун, капацитет АрраиЛист се аутоматски повећава како би се направило простора за више елемената.
К # 5) Која је разлика између методе ремовеАлл и ретаинАлл у АрраиЛист?
Одговор: Методе АрраиЛист „ремовеАлл“ и „ретаинАлл“ показују супротно понашање.
Иако метода ремовеАлл уклања све елементе са листе који се подударају са колекцијом која је прослеђена као аргумент овој методи, ретаинАлл, с друге стране, задржава све елементе на листи који се подударају са оним из колекције.
Закључак
У овом упутству детаљно смо разговарали о методама АрраиЛист са примером.
Такође смо размотрили неке посебне случајеве попут додавања елемената на почетак листе. Такође смо разговарали о другим операцијама на АрраиЛист-у, попут сортирања, преокретања и мешања АрраиЛист-а.
У нашем предстојећем водичу разговараћемо о неким конверзијама АрраиЛист.
=> Овде припазите на једноставну серију Јава тренинга.
Препоручено читање
- Водич за Јава рефлексију са примерима
- Јава Стринг Водич | Јава стринг методе са примерима
- Методе Јава листе - Листа сортирања, Садржи, Додај листу, Уклони листу
- Јава АрраиЛист - Како пријавити, иницијализовати и одштампати АрраиЛист
- Конверзије Јава АрраиЛист-а у друге колекције
- Јава СВИНГ лекције: Контејнери, компоненте и руковање догађајима
- Обрни низ у Јави - 3 методе са примерима
- Водич за ЈАВА за почетнике: 100+ практичних Јава видео водича