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
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