Acest Tutorial Java explică modul de creare, inițializare și imprimare a listelor în Java. Tutorialul explică, de asemenea, lista listelor cu Exemplu de cod complet:
acest tutorial vă va prezenta structura de date „listă”, care este una dintre structurile de bază din interfața de colectare Java.
o listă în Java este o secvență de elemente în funcție de o ordine. Interfața listă de java.,pachetul util este cel care pune în aplicare această secvență de obiecte comandate într-un anumit mod numit listă.
=> verificați toate tutorialele Java aici.la fel ca matricele, elementele listei pot fi accesate și folosind indici cu primul index începând de la 0. Indexul indică un anumit element la indexul „i”, adică este i elemente departe de începutul listei.unele dintre caracteristicile listei în Java includ:
- listele pot avea elemente duplicate.
- lista poate avea, de asemenea, elemente „null”.,
- listele acceptă generice, adică puteți avea liste generice.
- de asemenea, puteți avea obiecte mixte (obiecte din diferite clase) în aceeași listă.listele
- păstrează întotdeauna ordinea de inserare și permit accesul pozițional.
listă în Java
interfața Java List este un subtip al interfeței Java Collection. Aceasta este interfața standard care moștenește interfața de colectare a Java.
dat mai jos este o diagramă de clasă a interfeței listă Java.,
după Cum se arată în diagrama de clase de mai sus, Java interfata lista se extinde din Colecția interfața java.pachet util care, la rândul său, se extinde de la interfața Iterabilă a java.pachet util. Clasa AbstractList oferă implementarea scheletică a interfeței listă.
clasele LinkedList, stiva, Vector, ArrayList, și CopyOnWriteArrayList sunt toate clasele de implementare a interfeței listă, care sunt frecvent utilizate de programatori., Astfel, există patru tipuri de liste în Java, adică stivă, LinkedList, ArrayList și Vector.prin urmare, atunci când trebuie să implementați interfața listă, puteți implementa oricare dintre clasele de tip listă de mai sus, în funcție de cerințe. Pentru a include funcționalitatea interfeței listei în programul dvs., va trebui să importați pachetul java.util.,* care conține lista de interfață și alte clase de definiții, după cum urmează:
import java.util.*;
Crearea & Declara Listă
Ne-au declarat deja că Lista este o interfață și este implementat de clase, cum ar fi ArrayList, Stivă, Vector și LinkedList. Prin urmare, puteți declara și de a crea instanțe ale listă în oricare dintre următoarele moduri:
List linkedlist = new LinkedList(); List arrayList = new ArrayList();List vec_list = new Vector(); List stck_list = new Stack();
după Cum se arată mai sus, puteți crea o listă cu oricare dintre clasele de mai sus și apoi se inițializează aceste liste cu valori., Din declarațiile de mai sus, puteți constata că ordinea elementelor se va schimba în funcție de clasa utilizată pentru crearea unei instanțe a listei.
de exemplu, pentru o listă cu clasa stivă, ordinea este ultima intrare, prima ieșire (LIFO).
inițializa Java List
puteți face uz de oricare dintre metodele de mai jos pentru a inițializa un obiect listă.
#1) Folosind metoda asList
metoda asList () este deja acoperită în detaliu în subiectul Arrays. Puteți crea o listă imuabilă folosind valorile matricei.,
sintaxa generală este:
List<data_type> listname = Arrays.asList(array_name);
aici, data_type ar trebui să se potrivească cu cea a matricei.instrucțiunea de mai sus creează o listă imuabilă. Dacă doriți ca Lista Să fie mutabilă, atunci trebuie să creați o instanță a listei folosind new și apoi să îi atribuiți elementele de matrice folosind metoda asList.
Acest lucru este așa cum este arătat mai jos:
List<data_type> listname = new ArrayList<> (Arrays.asList(array_name));
Să pună în aplicare un program in Java care arată crearea și inițializarea listei folosind asList metodă.,în programul de mai sus, am creat lista imuabilă mai întâi folosind metoda asList. Apoi, vom crea o listă mutabil prin crearea unei instanțe de ArrayList și apoi inițializarea acestui ArrayList cu valori din matrice folosind metoda asList.rețineți că, deoarece a doua listă este mutabilă, putem adăuga și mai multe valori.
#2) folosind lista.add ()
după cum sa menționat deja, ca lista este doar o interfață nu poate fi instantiat. Dar putem instantia clase care implementează această interfață., Prin urmare, pentru a inițializa clasele de listă, puteți utiliza metodele de adăugare respective, care este o metodă de interfață de listă, dar implementată de fiecare dintre clase.
Dacă instantia o listă legată de clasă ca mai jos:
List<Integer> llist = new LinkedList<Integer> ();
Apoi, pentru a adăuga un element la o listă, puteți folosi add metodă, după cum urmează:
llist.add(3);
Există, de asemenea, o tehnica numita „Dublu bretele inițializare”, în care lista este instanțiată și inițializat prin apelarea adauga metodă în aceeași declarație.,acest lucru se face după cum se arată mai jos:
List<Integer> llist = new LinkedList<Integer> (){{ add(1); add(3);}};
instrucțiunea de mai sus adaugă elementele 1 și 3 la listă.
următorul program arată inițializările listei folosind metoda Adăugare. De asemenea, utilizează tehnica de inițializare a dublei bretele.
Output:
Acest program are trei declarații de listă diferite, adică ArrayList, LinkedList și stivă.
obiectele ArrayList și LinkedList sunt instanțiate și apoi metodele de adăugare sunt apelate pentru a adăuga elemente la aceste obiecte., Pentru stivă, inițializarea double brace este utilizată în care metoda add este apelată în timpul instanțierii în sine.
#3) Folosind metode de clasă colecții
clasa colecții de Java are diferite metode care pot fi folosite pentru a inițializa lista.
Unele dintre metode sunt:
- addAll
general sintaxa pentru colecții addAll metode este:
List<dataType> listname = Collections.EMPTY_LIST;Collections.addAll(listname = new ArrayList<datatype>(), values…);
Aici, puteți adăuga valori pentru o listă goală. Metoda addAll Ia lista ca primul parametru urmat de valorile care urmează să fie introduse în listă.,
- unmodifiableList()
metoda ‘unmodifiableList()’ returnează o lista imuabil la care elementele nu pot fi adăugate și nici șters.
sintaxa generală a acestei metode este următoarea:
List<datatype> listname = Collections.unmodifiableList(Arrays.asList(values…));
metoda ia valorile listei ca parametri și returnează o listă. Dacă încercați să adăugați sau să ștergeți orice element din această listă, atunci compilatorul aruncă o excepție Neacceptatăoperationexception.
- singletonList()
‘singletonList’ metoda returnează o listă cu un singur element în ea. Lista este imuabilă.,
sintaxa generală pentru această metodă este:
List<datatype> listname = Collections.singletonList(value);
următorul program Java demonstrează toate cele trei metode ale clasei de colecții discutate mai sus.
ieșire:
#4) Folosind fluxurile Java8
odată cu introducerea fluxurilor în Java 8, puteți construi, de asemenea, un flux de date și le puteți colecta într-o listă.următorul program arată crearea unei liste folosind stream.
Output:
programul de mai sus colectează fluxul de șir într-o listă și returnează-l., Puteți folosi, de asemenea, alți Colecționari metode ca ‘toCollection’, ‘unmodifiableList’ etc. în afară de asList în funcția collect.
# 5) Java 9 listă.of () metoda
O nouă metodă este introdusă în Java 9, listă.de () care ia orice număr de elemente și construiește o listă. Lista construită este imuabilă.
ieșire:
exemplu listă
dat mai jos este un exemplu complet de utilizare a unei interfețe listă și a diferitelor sale metode.
ieșire:
ieșirea programului de mai sus arată diferitele operații efectuate pe un ArrayList. În primul rând, creează și inițializează lista., Apoi copiază conținutul unei alte liste în această listă și elimină, de asemenea, un element din listă. În cele din urmă, înlocuiește ultimul element din listă cu o altă valoare.
vom explora în detaliu metodele de listă în următorul nostru tutorial.
Lista de imprimare
există diferite metode prin care puteți imprima elementele listei în Java.
să discutăm câteva dintre metodele de aici.
#1) Folosind Pentru Buclă / îmbunătățită pentru buclă
lista este o colecție ordonată care poate fi accesată folosind indici., Puteți utiliza pentru buclă, care este utilizat pentru a itera folosind indicii pentru a imprima fiecare element al listei.
Java are o altă versiune de Pentru Buclă știe ca îmbunătățită pentru buclă, care poate fi, de asemenea, utilizat pentru a accesa și imprima fiecare element al listei.programul Java prezentat mai jos demonstrează imprimarea conținutului listei folosind pentru buclă și îmbunătățită pentru buclă.
Output:
#2) Folosind metoda toString
metoda ‘toString ()’ a interfeței listă returnează reprezentarea șir a listei.programul de mai jos demonstrează utilizarea metodei toString ().,
Output:
lista convertită într-o matrice
Lista are o metodă toArray() care convertește lista într-o matrice. Odată convertit într-o matrice, puteți utiliza metodele de matrice discutate în subiectul respectiv pentru a imprima conținutul acestei matrice. Puteți utiliza fie pentru sau îmbunătățită pentru buclă sau chiar metoda toString.
exemplul de mai jos utilizează metoda toString pentru a imprima conținutul matrice.
ieșire:
folosind Java 8 fluxuri
fluxuri sunt introduse în Java 8. Puteți face uz de fluxuri pentru a bucla prin lista., Există, de asemenea, Lambda-uri folosind pe care le puteți itera prin listă.programul de mai jos arată utilizarea fluxurilor pentru a itera lista și a afișa conținutul acesteia.în afară de metodele discutate mai sus, puteți utiliza iteratoarele de listă pentru a itera lista și a afișa conținutul acesteia. Vom avea un articol complet pe lista iterator în tutorialele ulterioare.
lista listelor
interfața listei Java acceptă „lista listelor”. În aceasta, elementele individuale ale listei este din nou o listă. Aceasta înseamnă că puteți avea o listă în interiorul unei alte liste.,acest concept este foarte util atunci când trebuie să citiți date din fișiere CSV. Aici, poate fi necesar să citiți mai multe liste sau liste în liste și apoi să le stocați în memorie. Din nou, va trebui să procesați aceste date și să scrieți înapoi în fișier. Astfel, în astfel de situații, puteți menține o listă de liste pentru a simplifica prelucrarea datelor.
următorul program Java demonstrează un exemplu de listă Java de liste.
în acest program, avem o listă de liste de tip String. Creăm două liste separate de tip string și atribuim valori acestor liste., Ambele liste sunt adăugate la lista listelor folosind metoda Adăugare.pentru a afișa conținutul listei de liste, folosim două bucle. Bucla exterioară (foreach) iterează prin listele de liste care accesează listele. Bucla foreach interioară accesează elementele de șir individuale ale fiecăreia dintre aceste liste.Java list of lists este un concept mic, dar este important mai ales atunci când trebuie să citiți date complexe în programul dvs.
Întrebări frecvente
Q # 1) Ce este o listă și setat în Java?răspuns: o listă este o colecție ordonată de elemente., Puteți avea elemente duplicate în listă.
un set nu este o colecție ordonată. Elementele din set nu sunt aranjate într-o anumită ordine. De asemenea, elementele din set trebuie să fie unice. Nu permite duplicate.
Q #2) Cum funcționează o listă în Java?
răspuns: lista este o interfață în Java care se extinde de la interfața de colectare. Clasele ArrayList, LinkedList, stiva și Vector implementează interfața listă. Astfel, un programator poate folosi aceste clase pentru a utiliza funcționalitatea interfeței listă.
Q # 3) Ce este un ArrayList în Java?,
răspuns: ArrayList este o matrice dinamică. Este o colecție redimensionabilă de elemente și implementează interfața listă. ArrayList face uz intern de o matrice pentru a stoca elementele.
Q # 4) listele încep de la 0 sau 1 în Java?
răspuns: listele din Java au un index întreg bazat pe zero. Aceasta înseamnă că primul element din listă este la indexul 0, Al doilea element la indexul 1 și așa mai departe.
Q #5) este lista ordonată?
Răspuns: Da. Lista este o colecție ordonată de elemente., Această ordine este păstrată, în timpul inserării unui element nou în listă,
concluzie
acest tutorial a dat o introducere la interfața listă în Java. Am discutat, de asemenea, conceptele majore ale listelor, cum ar fi crearea, inițializarea listelor, tipărirea listelor etc.în tutorialele noastre viitoare, vom discuta despre diferitele metode furnizate de interfața listă. Vom discuta, de asemenea, construcția iterator care este utilizată pentru a itera obiectul listei. Vom discuta despre conversia obiectelor din listă în alte structuri de date în tutorialul nostru viitor.,
=> vizitați aici pentru a vedea seria de instruire Java pentru toți.
Lasă un răspuns