logo

Java lista

Lista Java tarjoaa mahdollisuuden ylläpitää tilattu kokoelma . Se sisältää indeksipohjaiset menetelmät elementtien lisäämiseen, päivittämiseen, poistamiseen ja etsimiseen. Siinä voi olla myös päällekkäisiä elementtejä. Voimme myös tallentaa luetteloon tyhjät elementit.

List-käyttöliittymä löytyyjava.utilpaketin ja perii Collection-käyttöliittymän. Se on ListIterator-liittymän tehdas. ListIteratorin avulla voimme iteroida luetteloa eteenpäin ja taaksepäin. List-rajapinnan toteutusluokat ovatArrayList,LinkedList, pino ja vektori. ArrayList ja LinkedList ovat laajalti käytössä Java-ohjelmoinnissa. Vector-luokka on vanhentunut Java 5:n jälkeen.

Listaa käyttöliittymän ilmoitus

 public interface List extends Collection 

Java-luettelomenetelmät

Menetelmä Kuvaus
void add(int-indeksi, E-elementti) Sitä käytetään määritetyn elementin lisäämiseen määritettyyn kohtaan luettelossa.
boolen lisäys(E e) Sitä käytetään liittämään määritetty elementti luettelon loppuun.
boolean addAll(kokoelma c) Sitä käytetään liittämään kaikki määritetyn kokoelman elementit luettelon loppuun.
boolean addAll(int-indeksi, kokoelma c) Sitä käytetään liittämään kaikki määritetyn kokoelman elementit luettelon määritetystä kohdasta alkaen.
void clear () Sitä käytetään kaikkien elementtien poistamiseen tästä luettelosta.
boolen yhtä kuin (objekti o) Sitä käytetään vertaamaan määritettyä objektia luettelon elementteihin.
int hashcode() Sitä käytetään palauttamaan luettelon hash-koodin arvo.
E get(int index) Sitä käytetään elementin hakemiseen luettelon tietystä paikasta.
boolean isEmpty() Se palauttaa tosi, jos lista on tyhjä, muuten false.
int lastIndexOf(Object o) Sitä käytetään palauttamaan indeksi tässä luettelossa määritetyn elementin viimeisestä esiintymisestä tai -1, jos luettelo ei sisällä tätä elementtiä.
Object[] toArray() Sitä käytetään palauttamaan taulukko, joka sisältää kaikki tämän luettelon elementit oikeassa järjestyksessä.
T[] toArray(T[] a) Sitä käytetään palauttamaan taulukko, joka sisältää kaikki tämän luettelon elementit oikeassa järjestyksessä.
boolean sisältää (Objekti o) Se palauttaa tosi, jos luettelo sisältää määritetyn elementin
boolean sisältääKaikki (kokoelma c) Se palauttaa tosi, jos luettelo sisältää kaikki määritetyt elementit
int indexOf(objekti o) Sitä käytetään palauttamaan indeksi tässä luettelossa määritetyn elementin ensimmäisestä esiintymisestä tai -1, jos luettelo ei sisällä tätä elementtiä.
E poista (int index) Sitä käytetään luettelon määritetyssä kohdassa olevan elementin poistamiseen.
boolen poisto (objekti o) Sitä käytetään määritetyn elementin ensimmäisen esiintymisen poistamiseen.
boolean removeAll(kokoelma c) Sitä käytetään kaikkien elementtien poistamiseen luettelosta.
tyhjä korvaa kaikki (UnaryOperator-operaattori) Sitä käytetään korvaamaan kaikki luettelon elementit määritetyllä elementillä.
mitätön säilyttää kaikki (kokoelma c) Sitä käytetään säilyttämään kaikki luettelon elementit, jotka ovat määritetyssä kokoelmassa.
E-joukko(int-indeksi, E-elementti) Sitä käytetään korvaamaan luettelossa määritetty elementti, joka on määritetyssä paikassa.
tyhjä lajittelu (vertailija c) Sitä käytetään luettelon elementtien lajitteluun määritetyn vertailijan perusteella.
Splitter spliterator() Sitä käytetään luomaan jakaja luettelon elementtien päälle.
Lista alilista(int fromIndex, int toIndex) Sitä käytetään kaikkien elementtien hakemiseen annetulla alueella.
int size () Sitä käytetään palauttamaan luettelossa olevien elementtien lukumäärä.

Java-lista vs. ArrayList

List on käyttöliittymä, kun taas ArrayList on Listin toteutusluokka.

Kuinka luoda luettelo

ArrayList- ja LinkedList-luokat tarjoavat List-rajapinnan toteutuksen. Katsotaanpa esimerkkejä luettelon luomiseksi:

 //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(); 

Lyhyesti sanottuna voit luoda minkä tahansa luettelon. ArrayList- ja LinkedList-luokkia käytetään määrittämään tyyppi. Tässä T tarkoittaa tyyppiä.

Java-luetteloesimerkki

Katsotaanpa yksinkertainen esimerkki Lististä, jossa käytämme toteutuksena ArrayList-luokkaa.

 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); } } 
Testaa nyt

Lähtö:

 Mango Apple Banana Grapes 

Kuinka muuntaa Array luetteloksi

Voimme muuntaa taulukon listaksi kulkemalla taulukon läpi ja lisäämällä elementin listaan ​​yksitellen käyttämällä list.add()-metodia. Katsotaanpa yksinkertainen esimerkki taulukon elementtien muuntamisesta listaksi.

 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); } } 
Testaa nyt

Lähtö:

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

Kuinka muuntaa lista taulukoksi

Voimme muuntaa listan taulukoksi kutsumalla list.toArray()-metodia. Katsotaanpa yksinkertainen esimerkki luetteloelementtien muuntamisesta taulukoiksi.

kuvan tasaaminen css:ssä
 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); } } 
Testaa nyt

Lähtö:

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

Hanki ja aseta elementti luetteloon

The get() -menetelmä palauttaa elementin annetussa indeksissä, kun taas set() -menetelmä muuttaa tai korvaa elementin.

 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); } } 
Testaa nyt

Lähtö:

 Returning element: Apple Mango Dates Banana Grapes 

Kuinka lajitella luettelo

Listaa voidaan lajitella useilla eri tavoilla, tässä aiomme käyttää Collections.sort()-menetelmää listaelementin lajitteluun. The java.util paketti tarjoaa hyödyllisyysluokan Kokoelmat jolla on staattinen menetelmä sort(). Käyttämällä Collections.sort() -menetelmällä voimme helposti lajitella minkä tahansa luettelon.

 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); } } 

Lähtö:

matriisin kertolasku c:ssä
 Apple Banana Grapes Mango Sorting numbers... 1 11 21 51 

Java ListIterator -käyttöliittymä

ListIterator-liittymää käytetään elementin kulkemiseen taaksepäin ja eteenpäin.

ListIterator Interface -ilmoitus

 public interface ListIterator extends Iterator 

Java ListIterator -liittymän menetelmät:

Menetelmä Kuvaus
tyhjä lisäys (E e) Tämä menetelmä lisää määritetyn elementin luetteloon.
boolean hasNext() Tämä menetelmä palauttaa tosi, jos luetteloiteraattorissa on enemmän elementtejä kulkiessaan listaa eteenpäin.
E seuraava() Tämä menetelmä palauttaa luettelon seuraavan elementin ja siirtää kohdistimen sijaintia eteenpäin.
int nextIndex() Tämä menetelmä palauttaa elementin indeksin, joka palautettaisiin seuraavalla kutsulla seuraavalle()
boolean hasPrevious() Tämä menetelmä palauttaa tosi, jos tässä luetteloiteraattorissa on enemmän elementtejä, kun se kulkee luetteloa päinvastaiseen suuntaan.
E edellinen() Tämä menetelmä palauttaa luettelon edellisen elementin ja siirtää kohdistimen sijaintia taaksepäin.
E edellinenIndeksi() Tämä menetelmä palauttaa sen elementin indeksin, joka palautettaisiin seuraavalla kutsulla edelliseen().
void poista () Tämä menetelmä poistaa luettelosta viimeisen elementin, jonka next()- tai previous()-metodit palauttivat
tyhjä joukko (E e) Tämä menetelmä korvaa next()- tai previous()-menetelmien palauttaman viimeisen elementin määritetyllä elementillä.

Esimerkki ListIterator-liittymästä

 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()); } } } 

Lähtö:

 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 

Esimerkki luettelosta: Kirja

Katsotaanpa esimerkki luettelosta, johon lisäämme kirjoja.

 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); } } } 
Testaa nyt

Lähtö:

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

Liittyvät aiheet

ArrayList Javassa

LinkedList Javassa

Ero ArrayListin ja LinkedListin välillä

Ero Arrayn ja ArrayListin välillä

Milloin ArrayListiä ja LinkedListiä käytetään Javassa

Ero ArrayListin ja Vectorin välillä

Kuinka vertailla kahta ArrayListiä Javassa

10 1 miljoonasta

Kuinka kääntää ArrayList Javassa

Milloin ArrayListiä ja LinkedListiä käytetään Javassa

Kuinka tehdä ArrayList vain luku -tilassa

Ero taulukon pituuden ja ArrayListin koon() välillä Javassa

Kuinka synkronoida ArrayList Javassa

Kuinka muuntaa ArrayList Arrayksi ja Array ArrayListiksi javassa

Array vs ArrayList Javassa

Kuinka lajitella Java ArrayList laskevassa järjestyksessä

Kuinka poistaa kaksoiskappaleet ArrayLististä Javassa