Preporučeno, 2020

Izbor Urednika

Razlika između Iterator i ListIterator u Javi

Iterator i ListIterator su dva od tri pokazivača Jave. I Iterator i ListIterator su definirani Okvirom zbirke u J ava.Util paketu. ListIterator je dijete sučelje Iterator sučelja. Glavna razlika između Iterator i ListIterator je u tome što Iterator može prelaziti elemente u zbirci samo u smjeru prema naprijed, dok ListIterator može prelaziti elemente u zbirci u smjeru naprijed i natrag .

Razgovarajmo o još nekim razlikama između Iterator i ListIterator uz pomoć usporedne tablice koja je prikazana u nastavku.

Tablica usporedbe

Osnova za usporedbuiteratorListIterator
Osnovni, temeljniIterator može prijeći elemente u zbirci samo u smjeru prema naprijed.ListIterator može prijeći elemente u zbirci u smjeru naprijed i unatrag.
DodatiIterator ne može dodati elemente u zbirku.ListIteror može dodati elemente u zbirku.
izmijenitiIterator ne može mijenjati elemente u zbirci.ListIterator može modificirati elemente u zbirci koristeći set ().
prijećiIterator može prelaziti kartu, popis i skup.ListIterator može prelaziti samo popisne objekte.
IndeksIterator nema metodu za dobivanje indeksa elementa u zbirci.Koristeći ListIterator, možete dobiti indeks elementa u zbirci.

Definicija Iteratora

Iterator je sučelje u okviru za prikupljanje . Koristi se za prolazak kroz elemente prikupljanja. Iterator vam omogućuje da ponavljate svaki element u zbirci jedan po jedan, dobivate elemente iz zbirke ili uklanjate elemente iz zbirke. Možete primijetiti da ne možete mijenjati nijedan element u zbirci pomoću Iteratora.

Iterator ima iterator metode () koji vraća iterator na početak zbirke. Nakon što dobijete iterator na početku zbirke, zatim za prolazak elemenata u zbirci uspostavite petlju koja poziva hasNext () svaki put kad se petlja iterira. HasNext () ako vraća true, to znači da je sljedeći element u zbirci, a ako vrati false onda znači da su svi elementi prešli. Zatim unutar petlje možete dobiti svaki element u zbirci pomoću sljedećeg () . Metoda next () vraća sljedeći element zbirke.

nedostatak:

Pomoću Iteratora možete preći zbirku samo u smjeru prema naprijed.
Koristeći Iterator, ne možete manipulirati ili mijenjati elemente u zbirci.

Definicija ListIterator

ListIterator je sučelje u okviru zbirke i proširuje Iterator sučelje. Koristeći ListIterator, možete prijeći elemente zbirke u smjeru naprijed i natrag . Također možete dodati, ukloniti ili izmijeniti bilo koji element u zbirci. Ukratko, možemo reći da uklanja nedostatke Iteratora.

Metode ListIterator su sljedeće:

hasNext () : Ako vrati true potvrđuje da ima više elemenata u zbirci.
next () : Vraća sljedeće elemente popisa.
nextIndex () : Vraća indeks sljedećih elemenata na popisu.
hasPrevious () : Vraća true ako postoje elementi u obrnutom smjeru u zbirci.
previous () : Vraća prethodni element u zbirci.
previousIndex () : Vraća indeks prethodnog elementa u zbirci.
remove () : Izbrišite element iz zbirke.
set () : Mijenja element u zbirci.
add () : Dodaje novi element u zbirku.

Ključne razlike između Iteratora i ListIteratora

  1. Osnovna razlika između Iterator-a i ListIterator-a je da su obje pokazivač, Iterator može prelaziti elemente u zbirci samo u smjeru prema naprijed. S druge strane, ListIterator može proći i naprijed i natrag.
  2. Pomoću iteratora ne možete dodati element u zbirku. No, pomoću ListIterator možete dodati elemente u zbirku.
  3. Koristeći Iterator, ne možete ukloniti element u zbirci gdje, kao što možete ukloniti element iz zbirke pomoću ListIterator.
  4. Koristeći Iterator možete preći sve zbirke poput Map, List, Set. No, pomoću ListIteror možete proći samo kroz implementirane objekte.
  5. Možete dohvatiti indeks elementa pomoću Iteratora. No, budući da je popis sekvencijalan i na bazi indeksa, možete preuzeti indeks elementa pomoću popisa ListIterator.

Zaključak:

Možete koristiti ListIterator kada morate posebno proći objekt List u smjeru naprijed i natrag. Iterator možete koristiti jer podržava sve objekte tipa zbirke.

Top