Java ListIterator -liitäntä

Sisällysluettelo

Tässä opetusohjelmassa opitaan Java ListIterator -käyttöliittymästä esimerkin avulla.

ListIteratorRajapinta Java kokoelmien puitteet tarjoaa toiminnot pääsyä elementtejä luettelon.

Se on kaksisuuntainen. Tämä tarkoittaa sitä, että voimme toistaa luettelon elementit molempiin suuntiin.

Se laajentaa Iteratorkäyttöliittymää.

ListRajapinta tarjoaa listIterator()menetelmän, joka palauttaa esiintymä ListIteratorkäyttöliittymä.

ListIterator-menetelmät

ListIteratorKäyttöliittymä tarjoaa menetelmiä, joita voidaan käyttää suorittamaan eri operaatioita elementit lista.

  • hasNext() - palauttaa arvon true, jos luettelossa on elementti
  • next() - palauttaa luettelon seuraavan elementin
  • nextIndex()palauttaa sen elementin indeksin, jonka next()menetelmä palauttaa
  • previous() - palauttaa luettelon edellisen elementin
  • previousIndex()- palauttaa previous()menetelmän palauttaman elementin indeksin
  • remove()- poistaa jommankumman next()taiprevious()
  • set()- korvaa palautetun elementin jommallakummalla next()tai previous()määritetyllä elementillä

Esimerkki 1: ListIteratorin toteutus

Alla olevassa esimerkissä, olemme toteuttaneet next(), nextIndex()ja hasNext()menetelmät ListIteratorrajapinnan array luetteloon.

 import java.util.ArrayList; import java.util.ListIterator; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); // Creating an instance of ListIterator ListIterator iterate = numbers.listIterator(); // Using the next() method int number1 = iterate.next(); System.out.println("Next Element: " + number1); // Using the nextIndex() int index1 = iterate.nextIndex(); System.out.println("Position of Next Element: " + index1); // Using the hasNext() method System.out.println("Is there any next element? " + iterate.hasNext()); ) ) 

Tuotos

ArrayList: (1, 3, 2) Seuraava elementti: 1 Seuraavan elementin sijainti: 1 Onko seuraavaa elementtiä? totta

Esimerkki 2: ListIteratorin toteutus

Alla olevassa esimerkissä olemme toteuttaneet käyttöliittymän previous()ja previousIndex()menetelmät ListIteratortaulukko-luettelossa.

 import java.util.ArrayList; import java.util.ListIterator; class Main ( public static void main(String() args) ( // Creating an ArrayList ArrayList numbers = new ArrayList(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); // Creating an instance of ListIterator ListIterator iterate = numbers.listIterator(); iterate.next(); iterate.next(); // Using the previous() method int number1 = iterate.previous(); System.out.println("Previous Element: " + number1); // Using the previousIndex() int index1 = iterate.previousIndex(); System.out.println("Position of the Previous element: " + index1); ) ) 

Tuotos

 ArrayList: (1, 3, 2) Edellinen elementti: 3 Edellisen elementin sijainti: 0 

Yllä olevassa esimerkissä aluksi a: n esiintymä Iteratoroli ennen 1. Koska ennen 1: tä ei ollut elementtiä, previous()menetelmän kutsuminen aiheuttaa poikkeuksen.

Sitten käytimme next()menetelmiä 2 kertaa. Nyt Iteratoresiintymä on välillä 3 ja 2.

Siksi previous()menetelmä palauttaa arvon 3.

Mielenkiintoisia artikkeleita...