java list how create
Овај водич за списак Јава објашњава како креирати, покренути и одштампати листе у Јави. Водич такође објашњава листу листа са комплетним примером кода:
Овај водич ће вас упознати са „листом“ структуре података која је једна од основних структура у интерфејсу Јава Цоллецтион.
Листа на Јави је низ елемената према редоследу. Интерфејс Лист јава.утил пакета је онај који имплементира овај низ објеката пореданих на одређени начин назван Лист.
=> Овде проверите СВЕ Јава туторијале.
Баш као низима, елементима листе такође се може приступити помоћу индекса са првим индексом који почиње на 0. Индекс означава одређени елемент у индексу „и“, тј. То је и елементи удаљени од почетка листе.
Неке од карактеристика листе на Јави укључују:
- Листе могу имати дупле елементе.
- Листа такође може имати ‘нулл’ елементе.
- Листе подржавају генеричке, тј. Можете имати генеричке листе.
- На истој листи можете имати и мешовите објекте (објекте различитих класа).
- Листе увек чувају редослед уметања и омогућавају позициони приступ.
Шта ћете научити:
- Листа у Јави
- Закључак
Листа у Јави
Интерфејс Јава Лист је подврста интерфејса Јава Цоллецтион. Ово је стандардни интерфејс који наслеђује интерфејс за прикупљање Јава.
Даље је дат дијаграм класе интерфејса Јава листе.

Као што је приказано на горњем дијаграму класе, интерфејс листе Јава протеже се од интерфејса Цоллецтион пакета јава.утил, који се пак простире од интерфејса Итерабле пакета јава.утил. Класа АбстрацтЛист пружа скелетну имплементацију интерфејса Лист.
Класе ЛинкедЛист, Стацк, Вецтор, АрраиЛист и ЦопиОнВритеАрраиЛист су све класе имплементације интерфејса Листа које програмери често користе. Према томе, у Јави постоје четири врсте листа, тј. Стацк, ЛинкедЛист, АрраиЛист и Вецтор.
Дакле, када морате да примените интерфејс листе, можете да примените било коју од горњих класа типова листе, у зависности од захтева. Да бисте у свој програм укључили функционалност интерфејса листе, мораћете увезите пакет јава.утил. * који садржи интерфејс листе и друге дефиниције класа на следећи начин:
import java.util.*;
Направите и пријавите листу
Већ смо навели да је Лист интерфејс и имплементирају га класе попут АрраиЛист, Стацк, Вецтор и ЛинкедЛист. Отуда можете декларишу и креирају инстанце листе на било који од следећих начина:
List linkedlist = new LinkedList(); List arrayList = new ArrayList(); List vec_list = new Vector(); List stck_list = new Stack();
Као што је приказано горе, можете створити листу са било којом од горе наведених класа, а затим их иницијализовати вредностима. Из горњих изјава можете разабрати да ће се редослед елемената променити у зависности од класе која се користи за креирање инстанце листе.
На пример, за листу са класом класе, редослед је Ласт Ин, Фирст Оут (ЛИФО).
Иницијализујте Јава листу
Можете користити било који од метода даних у наставку за иницијализацију објекта листе.
# 1) Коришћењем методе асЛист
Метода асЛист () је већ детаљно обрађена у теми Арраис. Можете створити непроменљиву листу користећи вредности низа.
Општа синтакса је:
List listname = Arrays.asList(array_name);
Овде би тип података требао одговарати низу.
Горња изјава ствара непроменљиву листу. Ако желите да листа буде променљива, морате створити инстанцу листе користећи нев, а затим јој доделити елементе низа методом асЛист.
Ово је приказано доле:
List listname = new ArrayList (Arrays.asList(array_name));
Омогућава имплементирати програм на Јави који приказује стварање и иницијализацију листе методом асЛист .
Питања за интервју са селеном вебдривер-ом за четворогодишње искуство
import java.util.*; public class Main { public static void main(String() args) { //array of strings String() strArray = {'Delhi', 'Mumbai', 'Kolkata', 'Chennai'}; //initialize an immutable list from array using asList method List mylist = Arrays.asList(strArray); //print the list System.out.println('Immutable list:'); for(String val : mylist){ System.out.print(val + ' '); } System.out.println('
'); //initialize a mutable list(arraylist) from array using asList method List arrayList = new ArrayList(Arrays.asList(strArray)); System.out.println('Mutable list:'); //add one more element to list arrayList.add('Pune'); //print the arraylist for(String val : arrayList){ System.out.print(val + ' '); } }
Излаз:
У горе наведеном програму прво смо креирали непроменљиву листу методом асЛист. Затим креирамо променљиву листу тако што ћемо створити инстанцу АрраиЛист, а затим иницијализовати овај АрраиЛист вредностима из низа методом асЛист.
Имајте на уму да, пошто је друга листа променљива, можемо јој додати и више вредности.
# 2) Коришћење Лист.адд ()
Као што је већ поменуто, пошто је листа само интерфејс, не може се направити инстанца. Али можемо створити инстанце класа које имплементирају овај интерфејс. Због тога за иницијализацију класа листе можете да користите њихове одговарајуће методе додавања, која је метода интерфејса листе, али коју имплементира свака од класа.
ако ти инстанцирајте класу повезане листе као испод:
List llist = new LinkedList ();
Затим, да бисте додали елемент на листу, можете користити методу додавања на следећи начин:
llist.add(3);
Постоји и техника која се назива „Иницијализација двоструким заградама“ у којој се листа инстанцира и иницијализује позивањем методе адд у истом изразу.
То се ради на следећи начин:
List llist = new LinkedList (){{ add(1); add(3);}};
Горња изјава додаје елементе 1 и 3 на листу.
Следећи програм приказује иницијализације листе применом методе адд . Такође користи технику иницијализације двоструким заградама.
import java.util.*; public class Main { public static void main(String args()) { // ArrayList.add method List str_list = new ArrayList(); str_list.add('Java'); str_list.add('C++'); System.out.println('ArrayList : ' + str_list.toString()); // LinkedList.add method List even_list = new LinkedList(); even_list.add(2); even_list.add(4); System.out.println('LinkedList : ' + even_list.toString()); // double brace initialization - use add with declaration & initialization List num_stack = new Stack(){{ add(10);add(20); }}; System.out.println('Stack : ' + num_stack.toString()); } }
Излаз:
Овај програм има три различите декларације листе, тј. АрраиЛист, ЛинкедЛист и Стацк.
Инстанцирају се објекти АрраиЛист и ЛинкедЛист, а затим се позивају методе адд за додавање елемената у ове објекте. За стек се користи иницијализација двоструке заграде у којој се метода адд позива током саме инстанције.
# 3) Коришћење метода колекције класе
Класа Јава колекција има разне методе које се могу користити за иницијализацију листе.
Неке од метода су:
- аддАлл
Тхе општа синтакса за колекције аддАлл метода је:
List listname = Collections.EMPTY_LIST; Collections.addAll(listname = new ArrayList(), values…);
Овде додате вредности празној листи. Метода аддАлл узима листу као први параметар, а затим вредности које се убацују у листу.
- унмодифиаблеЛист ()
Метода ‘унмодифиаблеЛист ()’ враћа непроменљиву листу на коју елементи не могу да се додају или избришу.
Општа синтакса ове методе је следећа:
List listname = Collections.unmodifiableList(Arrays.asList(values…));
Метода узима вредности параметара као параметре и враћа листу. Ако уопште покушате да додате или избришете било који елемент са ове листе, компајлер даје изузетак УнсуппортедОператионЕкцептион.
- синглетонЛист ()
Метода ‘синглетонЛист’ враћа листу са једним елементом. Листа је непроменљива.
Општа синтакса ове методе је:
List listname = Collections.singletonList(value);
Следећи Јава програм демонстрира све три методе класе Цоллецтионс о којима је раније било речи.
import java.util.*; public class Main { public static void main(String args()) { // empty list List list = new ArrayList(); // Instantiating list using Collections.addAll() Collections.addAll(list, 10, 20, 30, 40); // Print the list System.out.println('List with addAll() : ' + list.toString()); // Create& initialize the list using unmodifiableList method List intlist = Collections.unmodifiableList( Arrays.asList(1,3,5,7)); // Print the list System.out.println('List with unmodifiableList(): ' + intlist.toString()); // Create& initialize the list using singletonList method List strlist = Collections.singletonList('Java'); // Print the list System.out.println('List with singletonList(): ' + strlist.toString()); } }
Излаз:
# 4) Коришћење Јава8 Стреамова
Увођењем токова у Јави 8 такође можете да конструишете ток података и сакупљате их на листи.
Следеће програм приказује стварање листе помоћу тока.
import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; public class Main { public static void main(String args()) { // Creating a List using toList Collectors method List list1 = Stream.of('January', 'February', 'March', 'April', 'May') .collect(Collectors.toList()); // Print the list System.out.println('List from Java 8 stream: ' + list1.toString()); } }
Излаз:
Горњи програм прикупља ток низа на листу и враћа га. Такође можете да користите и друге методе сакупљача попут „тоЦоллецтион“, „унмодифиаблеЛист“ итд., Осим асЛист-а у функцији сакупљања.
# 5) Јава 9 Лист.оф () метода
Нова метода је представљена у Јави 9, Лист.оф () која узима било који број елемената и гради листу. Састављена листа је непроменљива.
import java.util.List; public class Main { public static void main(String args()) { // Create a list using List.of() List strList = List.of('Delhi', 'Mumbai', 'Kolkata'); // Print the List System.out.println('List using Java 9 List.of() : ' + strList.toString()); } }
Излаз:
Пример листе
Доље је дат потпун пример употребе интерфејса листе и његових различитих метода.
наредба сортирања у унику са примерима
import java.util.*; public class Main { public static void main(String() args) { // Creating a list List intList = new ArrayList(); //add two values to the list intList.add(0, 10); intList.add(1, 20); System.out.println('The initial List:
' + intList); // Creating another list List cp_list = new ArrayList(); cp_list.add(30); cp_list.add(40); cp_list.add(50); // add list cp_list to intList from index 2 intList.addAll(2, cp_list); System.out.println('List after adding another list at index 2:
'+ intList); // Removes element from index 0 intList.remove(0); System.out.println('List after removing element at index 0:
' + intList); // Replace value of last element intList.set(3, 60); System.out.println('List after replacing the value of last element:
' + intList); } }
Излаз:
Горњи излаз програма приказује разне операције изведене на АрраиЛист-у. Прво креира и иницијализује листу. Затим копира садржај друге листе на ову листу и такође уклања елемент са листе. На крају, он замењује последњи елемент на листи другом вредношћу.
Методе пописа детаљно ћемо истражити у следећем упутству.
Листа за штампање
Постоје разне методе помоћу којих можете да одштампате елементе листе на Јави.
Овде ћемо разговарати о неким методама.
# 1) Коришћење за петљу / Побољшано за петљу
Листа је уређена колекција којој се може приступити помоћу индекса. Можете користити фор петљу која се користи за итерацију помоћу индекса за штампање сваког елемента листе.
Јава има још једну верзију фор лооп познате као побољшана фор лооп која се такође може користити за приступ и штампање сваког елемента листе.
Јава програм приказан у наставку показује штампање садржаја листе користећи фор лооп и побољшано фор лооп.
import java.util.List; import java.util.ArrayList; import java.util.Arrays; class Main{ public static void main (String() args) { //string list List list = Arrays.asList('Java', 'Python', 'C++', 'C', 'Ruby'); //print list using for loop System.out.println('List contents using for loop:'); for (int i = 0; i Излаз:

# 2) Коришћење методе тоСтринг
Метода ‘тоСтринг ()’ интерфејса листе враћа приказ низа листе.
Програм испод демонстрира употребу методе тоСтринг ().
import java.util.List; import java.util.ArrayList; class Main{ public static void main (String() args){ //initialize a string list List list = new ArrayList(){{add('Python');add('C++');add('Java');}}; // string representation of list using toString method System.out.println('List contents using toString() method:' + list.toString()); } }
Излаз:

Листа претворена у низ
Листа има методу тоАрраи () која листу претвара у низ. Једном претворени у низ, можете користити методе низа разматране у одговарајућој теми за испис садржаја овог низа. Можете користити или за, или за побољшану фор петљу или чак тоСтринг методу.
Пример дат у наставку користи методу тоСтринг за испис садржаја низа.
import java.util.*; class Main { public static void main (String() args) { //list of odd numbers List oddlist = Arrays.asList(1,3,5,7,9,11); // using List.toArray() method System.out.println('Contents of list converted to Array:'); System.out.println(Arrays.toString(oddlist.toArray())); } }
Излаз:

Коришћење Јава 8 Стреамова
Стреамови су уведени у Јави 8. Можете користити стримове да бисте се кретали кроз листу. Постоје и ламбде помоћу којих можете да листате листу.
Програм испод приказује употреба токова за итерирање листе и приказивање њеног садржаја.
import java.util.*; class Main{ public static void main (String() args){ //list of even numbers List evenlist = Arrays.asList(2,4,6,8,10,12,14); // print list using streams System.out.println('Contents of evenlist using streams:'); evenlist.stream().forEach(S ->System.out.print(S + ' ')); } }
Излаз:

Поред горе описаних метода, можете да користите итераторе листе да бисте листали листу и приказивали њен садржај. У наредним туторијалима имат ћемо комплетан чланак о итератору листе.
Списак листа
Интерфејс Јава листе подржава „листу листа“. У овоме су појединачни елементи листе опет листа. То значи да можете имати листу унутар друге листе.
Овај концепт је веома користан када морате да читате податке из рецимо ЦСВ датотека. Овде ће вам можда требати да прочитате више листа или листа унутар њих, а затим да их сачувате у меморији. Опет ћете морати да обрадите ове податке и вратите их у датотеку. Тако у таквим ситуацијама можете да водите листу листа да бисте поједноставили обраду података.
Следећи Јава програм приказује пример Јава листе листа.
У овом програму имамо листу листа типа Стринг. Креирамо две одвојене листе типа стринг и додељујемо вредности тим листама. Обе ове листе додају се на листу листа методом додавања.
Да бисмо приказали садржај листе са списковима, користимо две петље. Спољна петља (фореацх) превлачи се кроз листе листа које приступају листама. Унутрашња петља фореацх приступа појединачним елементима низа сваке од ових листа.
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String() args) { //create list of lists List java_listOfLists = new ArrayList (); //create a language list and add elements to it ArrayList lang_list = new ArrayList(); lang_list.add('Java'); lang_list.add('C++'); //add language list to java list of list java_listOfLists.add(lang_list); //create a city list and add elements to it ArrayList city_list = new ArrayList(); city_list.add('Pune'); city_list.add('Mumbai'); //add the city list to java list of lists java_listOfLists.add(city_list); //display the contents of list of lists System.out.println('Java list of lists contents:'); java_listOfLists.forEach((list) -> //access each list { list.forEach((city)->System.out.print(city + ' ')); //each element of inner list }); } }
Излаз:

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