Seznam v Javi nudi možnost vzdrževanja naročen prevzem . Vsebuje metode, ki temeljijo na indeksu, za vstavljanje, posodabljanje, brisanje in iskanje elementov. Lahko ima tudi podvojene elemente. Na seznam lahko shranimo tudi ničelne elemente.
Vmesnik List se nahaja vjava.utilpaket in podeduje vmesnik zbirke. Je tovarna vmesnika ListIterator. Preko ListIteratorja lahko ponavljamo seznam v smeri naprej in nazaj. Izvedbeni razredi vmesnika List soArrayList,LinkedList, Stack in Vector. ArrayList in LinkedList se pogosto uporabljata v programiranju Java. Razred Vector je od Jave 5 zastarel.
Izjava vmesnika seznama
public interface List extends Collection
Metode seznama Java
Metoda | Opis | |
---|---|---|
void add (int indeks, E element) | Uporablja se za vstavljanje določenega elementa na določeno mesto na seznamu. | |
logični dodatek (E e) | Uporablja se za dodajanje določenega elementa na konec seznama. | |
logično dodajVse (Zbirka c) | Uporablja se za dodajanje vseh elementov v navedeni zbirki na konec seznama. | |
boolean addAll(int indeks, zbirka c) | Uporablja se za dodajanje vseh elementov v podani zbirki, začenši na podanem mestu seznama. | |
void clear() | Uporablja se za odstranitev vseh elementov s tega seznama. | |
logično je enako (predmet o) | Uporablja se za primerjavo navedenega predmeta z elementi seznama. | |
int hashcode() | Uporablja se za vrnitev vrednosti zgoščene kode za seznam. | |
E get(indeks) | Uporablja se za pridobivanje elementa z določenega položaja seznama. | |
logično isEmpty() | Vrne true, če je seznam prazen, sicer pa false. | |
int lastIndexOf(Object o) | Uporablja se za vrnitev indeksa na tem seznamu zadnje pojavitve podanega elementa ali -1, če seznam ne vsebuje tega elementa. | |
Objekt[] vArray() | Uporablja se za vrnitev matrike, ki vsebuje vse elemente na tem seznamu v pravilnem vrstnem redu. | |
T[] v Array(T[] a) | Uporablja se za vrnitev matrike, ki vsebuje vse elemente na tem seznamu v pravilnem vrstnem redu. | |
logično vsebuje (predmet o) | Vrne true, če seznam vsebuje navedeni element | |
logično vsebujeVse (zbirka c) | Vrne true, če seznam vsebuje vse podane elemente | |
int indexOf(predmet o) | Uporablja se za vrnitev indeksa na tem seznamu prve pojavitve podanega elementa ali -1, če seznam ne vsebuje tega elementa. | |
E odstrani (indeks) | Uporablja se za odstranitev elementa, ki je prisoten na določenem mestu na seznamu. | |
logično odstranjevanje (predmet o) | Uporablja se za odstranitev prve pojavitve podanega elementa. | |
logično odstraniVse(Zbirka c) | Uporablja se za odstranitev vseh elementov s seznama. | |
void replaceAll(operator UnaryOperator) | Uporablja se za zamenjavo vseh elementov s seznama z navedenim elementom. | |
void retainAll(zbirka c) | Uporablja se za ohranitev vseh elementov na seznamu, ki so prisotni v navedeni zbirki. | |
E niz (int indeks, E element) | Uporablja se za zamenjavo določenega elementa na seznamu, ki je prisoten na določenem mestu. | |
void sort (Comparator c) | Uporablja se za razvrščanje elementov seznama na podlagi določenega primerjalnika. | |
Spliterator spliterator() | Uporablja se za ustvarjanje razdelilnika nad elementi na seznamu. | |
Podseznam seznama (int fromIndex, int toIndex) | Uporablja se za pridobitev vseh elementov znotraj danega obsega. | |
int size() | Uporablja se za vrnitev števila elementov na seznamu. |
Java List proti ArrayList
List je vmesnik, medtem ko je ArrayList implementacijski razred List.
Kako ustvariti seznam
Razreda ArrayList in LinkedList zagotavljata implementacijo vmesnika List. Oglejmo si primere za ustvarjanje seznama:
//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();
Skratka, ustvarite lahko seznam katere koli vrste. Razreda ArrayList in LinkedList se uporabljata za določanje vrste. Tukaj T označuje vrsto.
Primer seznama Java
Oglejmo si preprost primer seznama, kjer kot implementacijo uporabljamo razred ArrayList.
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); } }Preizkusite zdaj
Izhod:
Mango Apple Banana Grapes
Kako pretvoriti Array v List
Matriko lahko pretvorimo v seznam tako, da prečkamo matriko in enega za drugim dodamo element na seznam z metodo list.add(). Oglejmo si preprost primer pretvorbe elementov matrike v seznam.
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); } }Preizkusite zdaj
Izhod:
Printing Array: [Java, Python, PHP, C++] Printing List: [Java, Python, PHP, C++]
Kako pretvoriti seznam v matriko
Seznam lahko pretvorimo v Array s klicem metode list.toArray(). Oglejmo si preprost primer pretvorbe elementov seznama v matriko.
java števec
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); } }Preizkusite zdaj
Izhod:
Printing Array: [Mango, Banana, Apple, Strawberry] Printing List: [Mango, Banana, Apple, Strawberry]
Pridobi in nastavi element na seznamu
The metoda get(). vrne element pri danem indeksu, medtem ko metoda set(). spremeni ali zamenja element.
boto3
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); } }Preizkusite zdaj
Izhod:
Returning element: Apple Mango Dates Banana Grapes
Kako razvrstiti seznam
Obstaja več načinov za razvrščanje seznama, tukaj bomo uporabili metodo Collections.sort() za razvrščanje elementa seznama. The java.util paket zagotavlja razred uporabnosti Zbirke ki ima statično metodo sort(). Uporabljati Zbirke.sort() lahko preprosto razvrstimo poljuben seznam.
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); } }
Izhod:
Apple Banana Grapes Mango Sorting numbers... 1 11 21 51
Java ListIterator vmesnik
Vmesnik ListIterator se uporablja za premikanje elementa v smeri nazaj in naprej.
Deklaracija vmesnika ListIterator
public interface ListIterator extends Iterator
Metode vmesnika Java ListIterator:
Metoda | Opis |
---|---|
prazen dodatek (E e) | Ta metoda vstavi podani element na seznam. |
logično hasNext() | Ta metoda vrne true, če ima iterator seznama več elementov med prečkanjem seznama v smeri naprej. |
E naslednji() | Ta metoda vrne naslednji element na seznamu in premakne položaj kazalca naprej. |
int nextIndex() | Ta metoda vrne indeks elementa, ki bi ga vrnil poznejši klic next() |
logično hasPrevious() | Ta metoda vrne true, če ima ta iterator seznama več elementov med prečkanjem seznama v obratni smeri. |
E prejšnji() | Ta metoda vrne prejšnji element na seznamu in premakne položaj kazalca nazaj. |
E prejšnjiIndex() | Ta metoda vrne indeks elementa, ki bi bil vrnjen z naslednjim klicem prejšnjega(). |
praznina odstrani() | Ta metoda odstrani zadnji element s seznama, ki ga je vrnila metoda next() ali previous(). |
praznina (E e) | Ta metoda zamenja zadnji element, ki ga vrneta metodi next() ali previous(), s podanim elementom. |
Primer vmesnika ListIterator
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()); } } }
Izhod:
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
Primer seznama: Knjiga
Oglejmo si primer seznama, kjer dodajamo knjige.
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); } } }Preizkusite zdaj
Izhod:
101 Let us C Yashwant Kanetkar BPB 8 102 Data Communications and Networking Forouzan Mc Graw Hill 4 103 Operating System Galvin Wiley 6
Sorodne teme
Razlika med ArrayList in LinkedList
Razlika med Array in ArrayList
Kdaj uporabiti ArrayList in LinkedList v Javi
Razlika med ArrayList in Vector
Kako primerjati dva ArrayList v Javi
Kako obrniti ArrayList v Javi
Kdaj uporabiti ArrayList in LinkedList v Javi
pretvori iz char v int java
Kako narediti ArrayList samo za branje
Razlika med dolžino matrike in velikostjo() ArrayList v Javi
Kako sinhronizirati ArrayList v Javi
Kako pretvoriti ArrayList v Array in Array v ArrayList v Javi
Array proti ArrayList v Javi
Kako razvrstiti Java ArrayList v padajočem vrstnem redu
Kako odstraniti dvojnike iz ArrayList v Javi