logo

Јава листа

Листа у Јави пружа могућност одржавања наређено прикупљање . Садржи методе засноване на индексу за уметање, ажурирање, брисање и претраживање елемената. Такође може имати дуплиране елементе. Такође можемо да ускладиштимо нулте елементе на листи.

Интерфејс листе се налази ујава.утилпакет и наслеђује интерфејс колекције. То је фабрика интерфејса ЛистИтератор. Преко ЛистИтератор-а можемо итерирати листу у правцу напред и назад. Имплементационе класе интерфејса листе суНиз листа,ЛинкедЛист, стек и вектор. АрраиЛист и ЛинкедЛист се широко користе у Јава програмирању. Класа Вецтор је застарела од Јаве 5.

Листа декларација интерфејса

 public interface List extends Collection 

Јава Лист Метходс

Метод Опис
воид адд (инт индекс, Е елемент) Користи се за уметање наведеног елемента на одређену позицију у листи.
боолеан адд(Е е) Користи се за додавање наведеног елемента на крај листе.
логички аддАлл (колекција ц) Користи се за додавање свих елемената наведене колекције на крај листе.
логички аддАлл(инт индекс, колекција ц) Користи се за додавање свих елемената у наведеној колекцији, почевши од наведене позиције листе.
воид цлеар() Користи се за уклањање свих елемената са ове листе.
боолеан једнако (објекат о) Користи се за упоређивање наведеног објекта са елементима листе.
инт хасхцоде() Користи се за враћање вредности хеш кода за листу.
Е гет(инт индекс) Користи се за преузимање елемента са одређене позиције листе.
боолеан исЕмпти() Враћа тачно ако је листа празна, у супротном нетачно.
инт ластИндекОф(Објекат о) Користи се за враћање индекса у овој листи последњег појављивања наведеног елемента, или -1 ако листа не садржи овај елемент.
Објецт[] тоАрраи() Користи се за враћање низа који садржи све елементе ове листе у исправном редоследу.
Т[] у низ(Т[] а) Користи се за враћање низа који садржи све елементе ове листе у исправном редоследу.
логички садржи(објекат о) Враћа тачно ако листа садржи наведени елемент
боолеан цонтаинсАлл (колекција ц) Враћа тачно ако листа садржи све наведене елементе
инт индекОф(Објекат о) Користи се за враћање индекса у овој листи првог појављивања наведеног елемента, или -1 ако листа не садржи овај елемент.
Е уклони (инт индекс) Користи се за уклањање елемента који је присутан на наведеној позицији на листи.
логички уклони (објекат о) Користи се за уклањање првог појављивања наведеног елемента.
боолеан ремовеАлл (колекција ц) Користи се за уклањање свих елемената са листе.
воид реплацеАлл (оператор УнариОператор) Користи се за замену свих елемената са листе са наведеним елементом.
воид РетаинАлл (Колекција ц) Користи се за задржавање свих елемената на листи који су присутни у наведеној колекцији.
Е скуп (инт индекс, Е елемент) Користи се за замену наведеног елемента на листи, који је присутан на наведеној позицији.
сортирање празнина (компаратор ц) Користи се за сортирање елемената листе на основу наведеног компаратора.
Сплитератор сплитератор() Користи се за креирање сплитератора над елементима на листи.
Листа подлиста(инт из индекса, инт у индекс) Користи се за преузимање свих елемената који се налазе унутар датог опсега.
инт сизе() Користи се за враћање броја елемената присутних на листи.

Јава листа против АрраиЛист

Лист је интерфејс, док је АрраиЛист класа имплементације Листе.

Како направити листу

Класе АрраиЛист и ЛинкедЛист обезбеђују имплементацију интерфејса листе. Погледајмо примере за креирање листе:

 //Creating a List of type String using ArrayList List list=new ArrayList(); //Creating a List of type Integer using ArrayList List list=new ArrayList(); //Creating a List of type Book using ArrayList List list=new ArrayList(); //Creating a List of type String using LinkedList List list=new LinkedList(); 

Укратко, можете креирати листу било које врсте. Класе АрраиЛист и ЛинкедЛист се користе за одређивање типа. Овде Т означава тип.

Пример Јава листе

Хајде да видимо једноставан пример листе где користимо класу АрраиЛист као имплементацију.

 import java.util.*; public class ListExample1{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } } 
Тестирајте одмах

Излаз:

 Mango Apple Banana Grapes 

Како претворити низ у листу

Можемо да конвертујемо низ у листу тако што ћемо обићи низ и додати елемент у листу један по један користећи метод лист.адд(). Погледајмо једноставан пример за претварање елемената низа у Листу.

 import java.util.*; public class ArrayToListExample{ public static void main(String args[]){ //Creating Array String[] array={'Java','Python','PHP','C++'}; System.out.println('Printing Array: '+Arrays.toString(array)); //Converting Array to List List list=new ArrayList(); for(String lang:array){ list.add(lang); } System.out.println('Printing List: '+list); } } 
Тестирајте одмах

Излаз:

 Printing Array: [Java, Python, PHP, C++] Printing List: [Java, Python, PHP, C++] 

Како претворити листу у низ

Листу можемо конвертовати у низ позивањем методе лист.тоАрраи(). Погледајмо једноставан пример за претварање елемената листе у низ.

јава отварање датотеке
 import java.util.*; public class ListToArrayExample{ public static void main(String args[]){ List fruitList = new ArrayList(); fruitList.add('Mango'); fruitList.add('Banana'); fruitList.add('Apple'); fruitList.add('Strawberry'); //Converting ArrayList to Array String[] array = fruitList.toArray(new String[fruitList.size()]); System.out.println('Printing Array: '+Arrays.toString(array)); System.out.println('Printing List: '+fruitList); } } 
Тестирајте одмах

Излаз:

 Printing Array: [Mango, Banana, Apple, Strawberry] Printing List: [Mango, Banana, Apple, Strawberry] 

Преузмите и поставите елемент на листу

Тхе гет() метода враћа елемент са датим индексом, док је сет() метода мења или замењује елемент.

 import java.util.*; public class ListExample2{ public static void main(String args[]){ //Creating a List List list=new ArrayList(); //Adding elements in the List list.add('Mango'); list.add('Apple'); list.add('Banana'); list.add('Grapes'); //accessing the element System.out.println('Returning element: '+list.get(1));//it will return the 2nd element, because index starts from 0 //changing the element list.set(1,'Dates'); //Iterating the List element using for-each loop for(String fruit:list) System.out.println(fruit); } } 
Тестирајте одмах

Излаз:

 Returning element: Apple Mango Dates Banana Grapes 

Како сортирати листу

Постоје различити начини за сортирање листе, овде ћемо користити Цоллецтионс.сорт() метод да сортирамо елемент листе. Тхе јава.утил пакет пружа услужну класу Збирке који има статички метод сорт(). Помоћу Цоллецтионс.сорт() методом, лако можемо сортирати било коју листу.

 import java.util.*; class SortArrayList{ public static void main(String args[]){ //Creating a list of fruits List list1=new ArrayList(); list1.add('Mango'); list1.add('Apple'); list1.add('Banana'); list1.add('Grapes'); //Sorting the list Collections.sort(list1); //Traversing list through the for-each loop for(String fruit:list1) System.out.println(fruit); System.out.println('Sorting numbers...'); //Creating a list of numbers List list2=new ArrayList(); list2.add(21); list2.add(11); list2.add(51); list2.add(1); //Sorting the list Collections.sort(list2); //Traversing list through the for-each loop for(Integer number:list2) System.out.println(number); } } 

Излаз:

 Apple Banana Grapes Mango Sorting numbers... 1 11 21 51 

Јава ЛистИтератор Интерфаце

Интерфејс ЛистИтератор се користи за кретање кроз елемент у правцу уназад и унапред.

апацхе

Декларација интерфејса ЛистИтератор

 public interface ListIterator extends Iterator 

Методе Јава ЛистИтератор интерфејса:

Метод Опис
неважећи додај (Е е) Овај метод убацује наведени елемент у листу.
боолеан хасНект() Овај метод враћа тачно ако итератор листе има више елемената док прелази листу у правцу унапред.
Е следећи() Овај метод враћа следећи елемент на листи и помера позицију курсора унапред.
инт нектИндек() Овај метод враћа индекс елемента који би био враћен накнадним позивом на нект()
боолеан хасПревиоус() Овај метод враћа тачно ако овај итератор листе има више елемената док прелази листу у обрнутом смеру.
Е претходни() Овај метод враћа претходни елемент на листи и помера позицију курсора уназад.
Е претходниИндек() Овај метод враћа индекс елемента који би био враћен накнадним позивом на превиоус().
воид ремове() Овај метод уклања последњи елемент са листе који је враћен методом нект() или превиоус().
празнина скупа (Е е) Овај метод замењује последњи елемент враћен од нект() или превиоус() метода са наведеним елементом.

Пример интерфејса ЛистИтератор

 import java.util.*; public class ListIteratorExample1{ public static void main(String args[]){ List al=new ArrayList(); al.add('Amit'); al.add('Vijay'); al.add('Kumar'); al.add(1,'Sachin'); ListIterator itr=al.listIterator(); System.out.println('Traversing elements in forward direction'); while(itr.hasNext()){ System.out.println('index:'+itr.nextIndex()+' value:'+itr.next()); } System.out.println('Traversing elements in backward direction'); while(itr.hasPrevious()){ System.out.println('index:'+itr.previousIndex()+' value:'+itr.previous()); } } } 

Излаз:

 Traversing elements in forward direction index:0 value:Amit index:1 value:Sachin index:2 value:Vijay index:3 value:Kumar Traversing elements in backward direction index:3 value:Kumar index:2 value:Vijay index:1 value:Sachin index:0 value:Amit 

Пример листе: књига

Хајде да видимо пример листе где додајемо књиге.

 import java.util.*; class Book { int id; String name,author,publisher; int quantity; public Book(int id, String name, String author, String publisher, int quantity) { this.id = id; this.name = name; this.author = author; this.publisher = publisher; this.quantity = quantity; } } public class ListExample5 { public static void main(String[] args) { //Creating list of Books List list=new ArrayList(); //Creating Books Book b1=new Book(101,'Let us C','Yashwant Kanetkar','BPB',8); Book b2=new Book(102,'Data Communications and Networking','Forouzan','Mc Graw Hill',4); Book b3=new Book(103,'Operating System','Galvin','Wiley',6); //Adding Books to list list.add(b1); list.add(b2); list.add(b3); //Traversing list for(Book b:list){ System.out.println(b.id+' '+b.name+' '+b.author+' '+b.publisher+' '+b.quantity); } } } 
Тестирајте одмах

Излаз:

 101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications and Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6 

Повезане теме

АрраиЛист у Јави

ЛинкедЛист у Јави

Разлика између АрраиЛист и ЛинкедЛист

Разлика између Арраи и АрраиЛист

Када користити АрраиЛист и ЛинкедЛист у Јави

Разлика између АрраиЛист и Вецтор

Како упоредити две листе низова у Јави

Како преокренути АрраиЛист у Јави

Када користити АрраиЛист и ЛинкедЛист у Јави

Како направити АрраиЛист само за читање

пример јава класе

Разлика између дужине низа и величине() листе АрраиЛист у Јави

Како синхронизовати АрраиЛист у Јави

Како претворити АрраиЛист у Арраи и Арраи у АрраиЛист у Јави

Арраи вс АрраиЛист у Јави

Како сортирати Јава АрраиЛист у опадајућем редоследу

Како уклонити дупликате са АрраиЛист у Јави