listiterator interface java with examples
Ta vadnica razlaga vmesnik ListIterator v Javi za prehod na izvajanje seznamov. Spoznali boste diagram razredov in metode vmesnika ListIterator:
Tako kot Iterator, vmesnik ListIterator ponuja funkcionalnost za prehod skozi izvedbe seznamov v Javi in dostop do elementov seznama.
=> Tukaj si oglejte A-Z vadnic za učenje Java.
Kaj se boste naučili:
ListIterator vmesnik v Javi
Nekatere glavne značilnosti vmesnika ListIterator so navedene spodaj:
- ListIterator je bil predstavljen v Javi 1.2
- ListIterator je podvmesnik vmesnika Iterator, torej se razteza od vmesnika Iterator.
- ListIterator deluje samo z izvedbami seznamov.
- ListIterator podpira vse operacije, in sicer ustvarjanje, branje, posodabljanje in brisanje. (Skupno imenovane CRUD operacije).
- ListIterator je dvosmerni iterator in podpira iteratorje tako naprej kot nazaj.
- V primeru ListIterator trenutno ni nobenega elementa. Položaj kazalca je usmerjen na mesto med elementom, ki ga je vrnila prejšnja metoda (), in elementom, ki bi ga vrnila metoda next ().
Pogovorimo se več o tem vmesniku v tej vadnici.
Diagram razreda ListIterator
ListIterator je vmesnik, ki spada v okvir zbirke API. Ta vmesnik se razteza od vmesnika Iterator. Poleg podedovanja metod vmesnika Iterator podpira tudi metode za dvosmerne ponovitve in operacije CRUD.
Diagram razredov vmesnika ListIterator je prikazan spodaj.
Zgornja slika prikazuje diagram razredov vmesnika ListIterator. V naslednjem poglavju bomo podrobno razpravljali o vseh metodah, prikazanih na sliki.
kako odpreti datoteko .air
Metode ListIterator
ListIterator vmesnik ponuja naslednje metode, kot je prikazano v spodnji tabeli.
Ime metode | Prototip | Opis |
---|---|---|
Odstrani() | odstrani praznino () | Odstrani zadnji element, vrnjen bodisi z naslednjo () ali prejšnjo () metodo. |
hasNext () | logična hasNext () | Preveri, ali ima listIterator več elementov za premikanje v smeri naprej. |
Naslednji() | E naslednji () | Vrne naslednji element na seznamu. Nato premakne kurzor, da kaže na naslednji element. |
hasPrevious () | boolean hasPrevious () | Preveri, ali ima ListIterator več elementov v smeri nazaj / nazaj. |
prejšnji () | E prejšnja () | Vrne prejšnji element na seznamu in premakne kurzor na en položaj v smeri nazaj. |
nextIndex () | int nextIndex () | Vrne indeks elementa, ki bo vrnjen s klicem na metodo next (). |
previousIndex () | int previousIndex () | Vrne indeks elementa, ki bo vrnjen s klicem na prejšnjo () metodo. |
sedem) | prazen niz (E in) | Nadomešča zadnji element, ki ga vrne metoda next () ali previous (), z novo vrednostjo. |
dodaj (E) | void add (E e) | Na seznam doda nov element. |
Nato bomo podrobno opisali vsako od teh metod.
# 1) hasNext ()
Prototip: logična hasNext ()
Parametri: NIL
Vrnjena vrednost:
- true => seznam ima naslednji element
- False => seznam nima več elementov
Opis: Ta metoda preveri, ali ima ListIterator več elementov za prehod v smeri naprej. Če ima več elementov, ta metoda vrne true.
# 2) naslednji ()
Prototip: E naslednji ()
Parametri: NIL
Vrnjena vrednost: E => naslednji element na seznamu.
Opis: Metoda next () vrne naslednji element na seznamu in premakne kurzor na naslednji element.
Vržena izjema: NoSuchElementException - če ListIterator nima naslednjega elementa.
# 3) hasPrevious ()
Prototip: boolean hasPrevious ()
Parametri: NIL
Vrnjena vrednost: true => ListIterator ima prejšnji element
Opis: Preveri, ali ima ListIterator več elementov v smeri nazaj / nazaj.
# 4) prejšnji ()
Prototip: E prejšnja ()
Parametri: NIL
Vrnjena vrednost: E => prejšnji element na seznamu
Opis: Ta metoda med premikanjem nazaj vrne prejšnji element na seznamu in nato premakne kazalec nazaj.
Vržena izjema: NoSuchElementException - če ListIterator nima naslednjega elementa.
# 5) nextIndex ()
Prototip: int nextIndex ()
Parametri: NIL
Vrnjena vrednost: int => indeks elementa, ki bo vrnjen z naslednjo () metodo ali velikostjo seznama, če je ListIterator na koncu seznama.
Opis: To metodo lahko pokličete pred naslednjo () metodo. Metoda nextIndex () vrne indeks elementa, ki ga bo vrnila metoda next (). Če je ListIterator na koncu seznama, potem ta metoda vrne velikost seznama.
# 6) previousIndex ()
Prototip: int previousIndex ()
Parametri: NIL
Vrnjena vrednost: int => indeks elementa, ki bo vrnjen s prejšnjo () metodo ali -1, če je ListIterator na začetku seznama.
Opis: To metodo je mogoče poklicati pred prejšnjo () metodo. Metoda previousIndex () vrne indeks elementa, ki ga bo vrnila metoda previous (). Če je ListIterator na začetku seznama, potem metoda vrne -1.
# 7) odstrani ()
Prototip: odstrani praznino ()
Parametri: NIL
Vrnjena vrednost: praznino
Opis: Metoda remove () izbriše zadnji element, ki ga je vrnila prejšnja () ali naslednja () metoda. Klic metode remove () se lahko izvede le enkrat na klic naslednje () ali prejšnje () metode.
Vržena izjema:
- UnsupportedOperationException - ListIterator ne podpira odstranitve.
- IllegalStateException - Če je trenutna operacija v nedovoljenem stanju, tj. Niti naslednja niti prejšnja še nista bila poklicana ali po klicu naslednja ali prejšnja, dodajanje ali odstranjevanje ni bilo poklicano.
# 8) set (E)
Prototip: prazen niz (E in)
Parametri: e => nov element, s katerim naj se stari element nadomesti
Vrnjena vrednost: praznino
Opis: Metoda set () nastavi element, ki ga vrne bodisi prejšnja () bodisi naslednja () metoda z novo vrednostjo, posredovano kot argument. To metodo lahko pokličete le, če metoda add () ali remove () ni poklicana po zadnjem klicu metode previous () ali next ().
Vržena izjema:
- UnsupportedOperationException - ListIterator ne podpira nastavljene operacije.
- ClassCastException - Če navedenega elementa ni mogoče dodati zaradi svojega razreda.
- IllegalArgumentException - Če je element / argument, ki ga dodajamo, nezakonit ali neveljaven.
- IllegalStateException - Če je trenutna operacija v nedovoljenem stanju, torej niti naslednja niti prejšnja še nista bila poklicana ali po klicu naslednje ali prejšnje, dodajanje ali odstranjevanje ni bilo poklicano.
# 9) dodaj (E)
Prototip: void add (E e)
Parametri: e => nov element, ki ga je treba dodati na seznam
Vrnjena vrednost: praznino
Opis: Metoda add () se uporablja za dodajanje novega elementa na seznam. Element se doda tik pred elementom, ki bi se vrnil naslednji (), če sploh, in za elementom, ki bi ga vrnila prejšnja () metoda.
Upoštevajte, da kot rezultat dodajanja elementa ne bi prišlo do spremembe vrnitve vrednosti next (), vendar bo prejšnja () metoda vrnila samo dodani element.
Vržena izjema:
- UnsupportedOperationException - ListIterator ne podpira metode dodajanja.
- ClassCastException, če je podan element, ki ga ni mogoče dodati zaradi svojega razreda.
- IllegalArgumentException, če je dodan element / argument nezakonit ali neveljaven.
Naslednji program Java prikazuje predstavitev vseh zgornjih metod ListIterator.
import java.util.*; public class Main{ public static void main(String args()){ //define list and add elements to it ListnameList=new ArrayList(); nameList.add('Savich'); nameList.add('Dane'); nameList.add('Lacey'); nameList.add(1,'James'); System.out.println('Original List:' + nameList); //define a list iterator for this list ListIterator list_itr=nameList.listIterator(); System.out.println('List elements in forward direction:'); //while there are still elements in the list, display next index and element while(list_itr.hasNext()){ System.out.println('Index:'+list_itr.nextIndex()+' Element:'+list_itr.next()); } //call set() method to set next value to 'Sally' list_itr.set('Sally'); System.out.println('
List after set('Sally'):' + nameList); //while there are elements in the list, display previous index and element System.out.println('
List elements in backward direction:'); while(list_itr.hasPrevious()){ System.out.println('Index:'+list_itr.previousIndex()+' Element:'+list_itr.previous()); } //call remove () method list_itr.remove(); System.out.println('List after remove():' + nameList); } }
Izhod:
ListIterator vmesnik v primerih Java
Oglejmo si še en primer uporabe ListIterator. V tem programu imamo ArrayList celoštevilskih vrednosti. Nato s pomočjo ListIterator prehodimo elemente seznama in prikažemo seznam.
Prav tako izberemo samo parne elemente v seznamu ArrayList in spremenimo njihove vrednosti v neparne številke z uporabo metod ListIterator.
import java.util.ArrayList; import java.util.ListIterator; public class Main { public static void main(String() args) { //define ArrayList and add values to it using for loop ArrayList intList = new ArrayList(); for (int i = 0; i <10; i++) intList.add(i+2); System.out.println('Original ArrayList:' + intList); // define the ListIterator ListIterator list_itr = intList.listIterator(); System.out.println('List elements using listIterator:'); //while list has more elements while (list_itr.hasNext()) { //retrieve next element int i = (Integer)list_itr.next(); // print the element System.out.print(i + ' '); // change only even numbers to odd by setting value = value +1 to current element if (i%2==0) { list_itr.set(i+1); // set method to change value } } System.out.println(); System.out.println('Final ArrayList of odd values:' + intList); } }
Izhod:
Pogosto zastavljena vprašanja
V # 1) Kaj pomeni iterator?
Odgovor: Iterator je vmesnik, ki je del okvira Collection v Javi. Ta vmesnik je prisoten v paketu java.util. Vmesnik iteratorja se uporablja za iteracijo skozi zbirko predmetov.
V # 2) Kaj je vmesnik iteratorja v Javi?
Odgovor: Vmesnik iteratorja v Javi se uporablja namesto Enumerations, ki so bili prej uporabljeni v Java Collection Framework. Vmesnik iteratorja je v Javi prisoten od različice 1.2.
S tem vmesnikom lahko pregledujete poljubne zbirke Java in obdelujete elemente zbirke.
V # 3) Kakšna je uporaba metode listIterator () v Javi?
Odgovor: Metoda listIterator () pripada paketu java.util. *. Ta metoda vrne iterator seznama za določen predmet seznama, ki ga je poklical, in ga je mogoče uporabiti za prehod seznamov in elementov dostopa. ListIterator deluje samo na izvedbah seznamov.
V # 4) Je iterator razred ali vmesnik?
Odgovor: Iterator ni razred, ampak vmesnik v Javi . Iterator vmesnik lahko izvajajo drugi razredi in se uporablja za iteracijo po elementih seznama ali zbirke.
V # 5) Koliko vrst iteratorjev je v Javi?
Odgovor: Iteratorji v Javi so treh vrst:
- Številke: To je vmesnik, ki se uporablja za branje elementov iz zbirk, kot so Vector, hashtable itd. Vsak element je oštevilčen glede na svoj položaj v zbirki.
- Iterator: Ta vmesnik lahko imenujete univerzalen, saj ga lahko uporabite za kateri koli predmet zbirke za prehod skozi zbirko. To je izboljšano naštevanje z odstranitvijo funkcionalnosti in zmožnostjo branja elementa.
- ListIterator: ListIterator je vmesnik, ki zagotavlja dvosmerno ponovitev, to je v smeri naprej in nazaj. ListIterator deluje samo z izvedbami seznamov, vključno z LinkedList, ArrayList itd.
Zaključek
ListIterator vmesnik v Javi izhaja iz vmesnika Iterator. Poleg neposrednega podedovanja metod vmesnika Iterator, vmesnik listIterator uvaja različne lastne metode, ki lahko programerju pomagajo pri dvosmerni ponovitvi.
V tej vadnici smo obravnavali diagram razredov in različne metode vmesnika ListIterator. Opazili smo tudi izvajanje teh metod skupaj z načini za prehod skozi različne sezname.
=> Obiščite tukaj in si oglejte serijo Java Training for All.
Priporočeno branje
- Vadnica Java vmesnika in abstraktnega razreda s primeri
- JAVA Vadnica za začetnike: 100+ praktičnih Javnih video vadnic
- Java Iterator: Naučite se uporabljati iteratorje v Javi s primeri
- Vadnica za dolžino polja Java s primeri kode
- Nazobčan niz v Javi - Vadnica s primeri
- Obrni matriko v Javi - 3 metode s primeri
- Kako razvrstiti polje v Javi - Vadnica s primeri
- Ugledne funkcije Java 8 s primeri kode