java arraylist how declare
Овај водич објашњава како се декларише, иницијализује и штампа Јава АрраиЛист са примерима кода. Такође ћете научити о 2Д Арраилист-у и имплементацији АрраиЛист-а у Јави:
Оквир Јава Цоллецтионс и интерфејс Лист детаљно су објашњени у нашим претходним водичима. АрраиЛист је структура података која је део Оквира колекција и може се сматрати сличном низовима и векторима.
АрраиЛист се може перципирати као динамички низ који вам омогућава да додате или уклоните елементе из њега у било ком тренутку или једноставно речено, динамички.
=> Овде погледајте водич за почетнике Јава.
Другим речима, његова величина се може динамички повећавати или смањивати за разлику од низова чија величина остаје статична када се једном декларише.
Шта ћете научити:
- Класа АрраиЛист у Јави
- Закључак
Класа АрраиЛист у Јави
АрраиЛист структуру података у Јави представља класа АрраиЛист која је део „ јава.утил ”Пакет.
Хијерархија за класу АрраиЛист приказана је у наставку.
Као што видите, класа АрраиЛист имплементира интерфејс Лист који се заузврат протеже од интерфејса Цоллецтион.
Општа дефиниција класе АрраиЛист дата је у наставку:
public class ArrayList extends AbstractList implements List,RandomAccess, Cloneable, Serializable
Ево неколико карактеристичних карактеристика АрраиЛист:
- Класа АрраиЛист Јава складишти елементе одржавајући редослед уметања.
- АрраиЛист дозвољава дуплиране елементе ускладиштене у њему.
- АрраиЛист није синхронизован, главна тачка која разликује АрраиЛист од Вецтор класе у Јави.
- АрраиЛист у Јави је идентичнији векторима у Ц ++.
- АрраиЛист у Јави такође користи индексе попут низова и подржава насумични приступ.
- Операције којима се манипулише елементима у АрраиЛисту су споре, јер је потребно обавити пуно померања елемената ако се било који елемент жели уклонити из АрраиЛист-а.
- Класа АрраиЛист не може садржати примитивне типове већ само објекте. У овом случају га обично називамо „АрраиЛист оф објецтс“. Дакле, ако желите да сачувате целобројне елементе, онда морате да користите објекат Интегер класе омотача, а не примитивни тип инт.
Направите и пријавите АрраиЛист
Да бисте користили класу АрраиЛист у свом програму, морате је прво укључити у свој програм помоћу директиве ‘импорт’ како је приказано доле:
import java.util.ArrayList;
ИЛИ
import java.util.*; //this will include all classes from java.util package
Једном када увезете класу АрраиЛист у свој програм, можете да креирате објекат АрраиЛист.
Општа синтакса креирања АрраиЛист је:
ArrayList arrayList = new ArrayList ();
Поред горе наведене изјаве која користи подразумевани конструктор, класа АрраиЛист такође нуди и друге преоптерећене конструкторе које можете користити за креирање АрраиЛист.
Методе конструктора
Класа АрраиЛист у Јави пружа следеће методе конструктора за креирање АрраиЛист.
1. метод: АрраиЛист ()
Овај метод користи задати конструктор класе АрраиЛист и користи се за стварање празног АрраиЛист-а.
Општа синтакса ове методе је:
ArrayList list_name = new ArrayList();
На пример, можете створити генерички АрраиЛист типа Стринг користећи следећу изјаву.
ArrayList arraylist = new ArrayList();
Ово ће створити празан АрраиЛист под називом „арраилист“ типа Стринг.
Метод # 2: АрраиЛист (инт капацитет)
Овај преоптерећени конструктор може се користити за креирање АрраиЛист-а са назначеном величином или капацитетом наведеним као аргумент конструктору.
Општа синтакса ове методе је:
ArrayList list_name = new ArrayList(int capacity);
Пример:
ArrayList arraylist = new ArrayList(10);
Горња изјава ствара празан АрраиЛист назван „арраилист“ типа Интегер капацитета 10.
Метод # 3: АрраиЛист (Збирка ц)
Трећи преоптерећени конструктор за класу АрраиЛист узима као аргумент већ постојећу колекцију и креира АрраиЛист са елементима из наведене колекције ц као почетним елементима.
Општа синтакса за иницијализацију АрраиЛист помоћу овог конструктора је:
ArrayList list_name = new ArrayList (Collection c)
На пример, ако је интЛист постојећа колекција са елементима {10,20,30,40,50}, тада ће следећа изјава створити листу ‘арраилист’ са садржајем интЛист као почетним елементима.
ArrayList ArrayList = new ArrayList(intList);
Класа АрраиЛист такође подржава различите методе помоћу којих се може манипулисати садржајем листе. О овим методама ћемо детаљно разговарати у нашем предстојећем водичу „АрраиЛист методе у Јави“.
Иницијализујте АрраиЛист у Јави
Једном када се креира АрраиЛист, постоји више начина за иницијализацију АрраиЛист са вредностима. У овом одељку ћемо разговарати о овим начинима.
# 1) Коришћење Арраис.асЛист
Овде можете проследити низ претворен у Лист помоћу методе асЛист класе Арраис да бисте покренули АрраиЛист.
Општа синтакса:
ArrayList arrayListName = new ArrayList( Arrays.asList (Object o1, Object o2, …, Object on));
Пример:
import java.util.*; public class Main { public static void main(String args()) { //create and initialize ArrayList object myList with Arrays.asList method ArrayList myList = new ArrayList( Arrays.asList('One', 'Two', 'Three')); //print the ArrayList System.out.println('List contents:'+myList); } }
Излаз:
# 2) Коришћење Анонимне методе унутрашње класе
Овде користимо анонимну унутрашњу класу за иницијализацију АрраиЛист у вредности.
Општа синтакса за употребу анонимне унутрашње класе за иницијализацију АрраиЛист је следећа:
ArrayListarraylistName = new ArrayList(){{ add(Object o1); add (Object o2);… add (Object on);}};
Пример:
import java.util.*; public class Main { public static void main(String args()) { //create and initialize ArrayList with anonymous inner class calls ArrayList colors = new ArrayList(){{ add('Red'); add('Blue'); add('Purple'); }}; //print the ArrayList System.out.println('Content of ArrayList:'+colors); } }
Излаз:
# 3) Коришћењем методе додавања
Ово је уобичајена метода за додавање елемената у било коју колекцију.
Општа синтакса за употребу методе адд за додавање елемената у АрраиЛист је:
ArrayListArraylistName = new ArrayList(); ArraylistName.add(value1); ArraylistName.add(value2); ArraylistName.add(value3);
Пример програмирања:
import java.util.*; public class Main { public static void main(String args()) { //create ArrayList ArrayList colors = new ArrayList(); //add elements to the ArrayList using add method colors.add('Red'); colors.add('Green'); colors.add('Blue'); colors.add('Orange'); //print the ArrayList System.out.println('Content of ArrayList:'+colors); }
Излаз:
# 4) Коришћење методе Цоллецтион.нЦопиес
Овај метод се користи за иницијализацију АрраиЛист-а са истим вредностима. Пружамо број елемената који се иницијализују и почетну вредност методе.
Општа синтакса иницијализације је:
ArrayList arrayListName = new ArrayList(Collections.nCopies(count, element));
Пример у наставку приказује иницијализацију низа методом Цоллецтионс.нЦопиес.
import java.util.*; public class Main { public static void main(String args()) { //create ArrayList with 10 elements //initialized to value 10 using Collections.nCopies ArrayList intList = new ArrayList(Collections.nCopies(10,10)); //print the ArrayList System.out.println('Content of ArrayList:'+intList); } }
Излаз:
Итерирање кроз АрраиЛист
Имамо следеће начине за пролазак кроз АрраиЛист или петљу кроз њега:
- Коришћење фор петље
- Би за сваку петљу (побољшана фор-лооп).
- Коришћење интерфејса Итератор.
- По интерфејсу ЛистИтератор.
- Методом форЕацхРемаининг ().
Заправо, ове методе се користе за итерацију кроз збирке уопште. У овом упутству видећемо примере сваке од метода у односу на АрраиЛист.
# 1) Коришћење фор петље
Петља заснована на индексу може се користити за прелазак преко АрраиЛист-а и штампање његових елемената.
Следи пример за прелазак и испис АрраиЛист-а помоћу фор петље.
import java.util.*; public class Main { public static void main(String() args) { //create a list List intList = new ArrayList(); intList.add(10); intList.add(20); intList.add(30); intList.add(40); intList.add(50); //create & initialize a new ArrayList with previous list ArrayList arraylist = new ArrayList(intList); System.out.println('Contents of ArrayList using for-loop:'); //use for loop to traverse through its elements and print it for(int i=0;i Излаз:

Ово је најједноставнији и најједноставнији начин за прелазак и испис елемената АрраиЛист-а, а функционише на исти начин и у случају других колекција.
# 2) Би за сваку петљу (побољшана за петљу)
Такође можете прећи АрраиЛист користећи петљу за сваку или побољшану петљу фор. Пре Јава 8, није садржао ламбда изразе. Али од Јаве 8 надаље, можете укључити и Ламбда изразе у петљу за сваку.
Програм у наставку приказује обилазак и испис АрраиЛист-а који се користи за сваку петљу и ламбда израз.
import java.util.*; public class Main { public static void main(String() args) { //create a list List intList = new ArrayList(); intList.add(10); intList.add(20); intList.add(30); intList.add(40); intList.add(50); //create & initialize a new ArrayList with previous list ArrayList arraylist = new ArrayList(intList); System.out.println('Contents of ArrayList using for-each loop:'); //use for-each loop to traverse through its elements and print it intList.forEach(val ->{ System.out.print(val + ' '); }); } }
Излаз:

# 3) Коришћење интерфејса Итератор
Итератор интерфејс смо детаљно видели у нашим претходним темама. Интерфејс Итератор може се користити за итерацију кроз АрраиЛист и испис његових вредности.
Следећи програм то показује.
import java.util.*; public class Main { public static void main(String() args) { //create a list List intList = new ArrayList(); intList.add(5); intList.add(10); intList.add(15); intList.add(20); intList.add(25); //create & initialize a new ArrayList with previous list ArrayList arraylist = new ArrayList(intList); System.out.println('Contents of ArrayList using Iterator interface:'); //Traverse through the ArrayList using iterator Iterator iter=arraylist.iterator(); while(iter.hasNext()){ System.out.print(iter.next() + ' '); } } }
Излаз:

# 4) По интерфејсу ЛистИтератор
Такође можете прећи АрраиЛист користећи ЛистИтератор. ЛистИтератор се може користити за прелазак АрраиЛист-а у правцу напријед и назад.
Применимо Јава програм који демонстрира пример коришћења ЛистИтератор.
import java.util.*; class Main{ public static void main(String args()){ //create a list and initiliaze it List colors_list=new ArrayList();//Creating arraylist colors_list.add('Red'); colors_list.add('Green'); colors_list.add('Blue'); colors_list.add('Cyan'); colors_list.add('Magenta'); colors_list.add('Yellow'); System.out.println('The contents of the list using ListIterator:'); //Traverse the list using ListIterator ListIterator color_iter=colors_list.listIterator(colors_list.size()); while(color_iter.hasPrevious()) { String str=color_iter.previous(); System.out.print(str + ' '); } } }
Излаз:

Као што можете видети из резултата, у горе наведеном програму АрраиЛист се премотава уназад користећи хасПревиоус () и превиоус () методе ЛистИтератор.
# 5) Методом форЕацхРемаининг ()
Ово је један од метода за прелазак преко АрраиЛист-а и доступан је од Јаве 8.
Следећи програм демонстрира методу форЕацхРемаининг () за прелазак преко АрраиЛист-а.
import java.util.*; class Main{ public static void main(String args()){ //create a list and initiliaze it List colors_list=new ArrayList(); colors_list.add('Red'); colors_list.add('Green'); colors_list.add('Blue'); colors_list.add('Cyan'); colors_list.add('Magenta'); colors_list.add('Yellow'); System.out.println('The contents of the list using forEachRemaining() method:'); //Traverse the list using forEachRemaining () method Iterator itr=colors_list.iterator(); itr.forEachRemaining(val-> //lambda expression { System.out.print(val + ' '); }); } }
Излаз:

како да отворим епс датотеку у оперативном систему Виндовс 10
Користимо методу форЕацхРемаининг () заједно са Итератором. Слично је сваком и користимо ламбда израз унутар ове методе.
Пример АрраиЛист Јава
У овом одељку ћемо видети имплементацију АрраиЛист у Јави. Као пример, применићемо комплетан пример стварања, иницијализације и употребе Јава АрраиЛист за извођење различитих манипулација.
import java.util.ArrayList; class Main { public static void main(String() args) { //Creating a generic ArrayList ArrayList newList = new ArrayList(); //Size of arrayList System.out.println('Original size of ArrayList at creation: ' + newList.size()); //add elements to it newList.add('IND'); newList.add('USA'); newList.add('AUS'); newList.add('UK'); //print the size after adding elements System.out.println('ArrayList size after adding elements: ' + newList.size()); //Print ArrayList contents System.out.println('Contents of the ArrayList: ' + newList); //Remove an element from the list newList.remove('USA'); System.out.println('ArrayList contents after removing element(USA): ' + newList); //Remove another element by index newList.remove(2); System.out.println('ArrayList contents after removing element at index 2: ' + newList); //print new size System.out.println('Size of arrayList: ' + newList.size()); //print list contents System.out.println('Final ArrayList Contents: ' + newList); } }
Излаз:

Дводимензионални АрраиЛист у Јави
Знамо да АрраиЛист нема димензије попут низова. Али можемо имати угнежђене АрраиЛистс који се називају и „2Д АрраиЛистс“ или „АрраиЛист оф АрраиЛистс“.
Једноставна идеја која стоји иза ових угнежђених АрраиЛистс је да је сваки АрраиЛист, с обзиром на АрраиЛист, други АрраиЛист.
Да схватимо ово помоћу следећег програма.
import java.util.*; public class Main { public static void main(String() args) { int num = 3; // declare an arrayList of ArrayLists or 2D ArrayList ArrayList intList = new ArrayList (num); // Create individual elements or ArrayLists and add them to intList as elements ArrayList list_elem1 = new ArrayList(); list_elem1.add(10); intList.add(list_elem1); ArrayList list_elem2 = new ArrayList(); list_elem2.add(20); list_elem2.add(30); intList.add(list_elem2); ArrayList list_elem3 = new (); list_elem3.add(40); list_elem3.add(50); list_elem3.add(60); intList.add(list_elem3); System.out.println('Contents of 2D ArrayList(Nested ArrayList):'); //print the 2D ArrayList or nested ArrayList for (int i = 0; i Излаз:

Горњи програм приказује 2Д АрраиЛист. Овде прво декларишемо АрраиЛист АрраиЛистс. Затим дефинишемо појединачне АрраиЛистс који ће служити као појединачни елементи угнежђених АрраиЛист када додамо сваки од ових АрраиЛистс у угњежђене АрраиЛист.
Да бисмо приступили сваком елементу АрраиЛист-а, морамо два пута позвати методу гет. Прво за приступ реду угнеждене листе низова, а затим за приступ појединачном пресеку реда и колоне.
Имајте на уму да можете повећати угнежђене нивое АрраиЛист да бисте дефинисали вишедимензионалне АрраиЛистс. На пример, 3Д АрраиЛист ће имати као елемент 2Д АрраиЛистс и тако даље.
Често постављана питања
П # 1) Шта је АрраиЛист у Јави?
Одговор: АрраиЛист у Јави је динамички низ. У природи је могуће променити величину, тј. Повећава се величином када се додају нови елементи и смањује када се елементи бришу.
П # 2) Која је разлика између Арраи и АрраиЛист?
Одговор: Низ је у статичкој структури и његова величина се не може променити када се декларисе. АрраиЛист је динамички низ и мења његову величину када се додају или уклоне елементи.
Низ је основна структура у Јави, док је АрраиЛист део Оквира колекције у Јави. Друга разлика је у томе што док Арраи користи индекс (()) за приступ елементима, АрраиЛист користи методе за приступ својим елементима.
П # 3) Да ли је АрраиЛист листа?
Одговор: АрраиЛист је подврста листе. АрраиЛист је класа, док је Лист интерфејс.
П # 4) Да ли је АрраиЛист колекција?
Одговор: Не. АрраиЛист је имплементација Цоллецтион која је интерфејс.
П # 5) Како АрраиЛист повећава своју величину?
Одговор: Интерно је АрраиЛист имплементиран као низ. АрраиЛист има параметар величине. Када се елементи додају у АрраиЛист и достигне вредност величине, АрраиЛист интерно додаје још један низ за смештај нових елемената.
Закључак
Ово је био туторијал о основама класе АрраиЛист у Јави. Видели смо стварање и иницијализацију класе АрраиЛист заједно са детаљном имплементацијом АрраиЛист у програмирању.
Такође смо разговарали о 2Д и вишедимензионалним АрраиЛистс-има. Класа АрраиЛист подржава разне методе помоћу којих можемо манипулисати елементима. У нашим предстојећим водичима ћемо се позабавити овим методама.
=> Прочитајте серију Еаси Јава Траининг.
Препоручено читање
- Јава Арраи - Декларишите, направите и иницијализујте низ у Јави
- Јава низ - Како исписати елементе низа у Јави?
- Примена Јава-а: Стварање и извршавање Јава ЈАР датотеке
- Јава листа - Како створити, иницијализовати и користити листу на Јави
- Јава виртуелна машина: како ЈВМ помаже у покретању Јава апликације
- Низ објеката у Јави: Како створити, покренути и користити
- Приступити модификаторима у Јави - Водич са примерима
- Водич за Јава рефлексију са примерима