Menguasai Antarmuka ListIterator Java: Panduan Praktis
Antarmuka ListIterator Java
Tutorial ini memberikan panduan komprehensif tentang antarmuka ListIterator Java, lengkap dengan contoh dunia nyata dan penjelasan yang jelas.
Antarmuka ListIterator memperluas Iterator dan menawarra traversal dua arah, memungkinkan Anda bergerak maju dan mundur melalui List sambil melakukan modifikasi secara langsung.
Fitur utama meliputi kemampuan untuk menavigasi, menghapus, dan mengganti elemen, menjadikannya alat penting untuk setiap pengembang Java yang bekerja dengan daftar.
Metode Inti ListIterator
hasNext() – Mengembalikan true jika ada elemen lain di depan. next() – Bergerak dan mengembalikan elemen berikutnya. nextIndex() – Memberikan indeks elemen yang akan dikembalikan oleh next(). previous() – Bergerak mundur dan mengembalikan elemen sebelumnya. previousIndex() – Memberikan indeks elemen yang akan dikembalikan oleh previous(). remove() – Menghapus elemen terakhir yang dikembalikan oleh next() atau previous(). set(E e) – Mengganti elemen terakhir yang dikembalikan dengan nilai yang ditentukan.
Contoh 1: Navigasi Maju
Di bawah adalah contoh ringkas yang menunjukkan next(), nextIndex(), dan hasNext() pada ArrayList:
import java.util.ArrayList; import java.util.ListIterator; class Main { public static void main(String[] args) { ArrayList<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); ListIterator<Integer> iterator = numbers.listIterator(); int first = iterator.next(); System.out.println("Next Element: " + first); int nextIndex = iterator.nextIndex(); System.out.println("Position of Next Element: " + nextIndex); System.out.println("Is there any next element? " + iterator.hasNext()); } }
Output
ArrayList: [1, 3, 2] Next Element: 1 Position of Next Element: 1 Is there any next element? true
Contoh 2: Navigasi Mundur
Contoh ini menunjukkan previous() dan previousIndex() setelah iterator maju dua kali:
import java.util.ArrayList; import java.util.ListIterator; class Main { public static void main(String[] args) { ArrayList<Integer> numbers = new ArrayList<>(); numbers.add(1); numbers.add(3); numbers.add(2); System.out.println("ArrayList: " + numbers); ListIterator<Integer> iterator = numbers.listIterator(); iterator.next(); iterator.next(); int prev = iterator.previous(); System.out.println("Previous Element: " + prev); int prevIndex = iterator.previousIndex(); System.out.println("Position of the Previous element: " + prevIndex); } }
Output
ArrayList: [1, 3, 2] Previous Element: 3 Position of the Previous Element: 0
Awalnya, iterator diposisikan sebelum elemen pertama, sehingga memanggil previous() akan melempar pengecualian. Setelah dua pemanggilan next(), iterator berada di antara 3 dan 2, sehingga previous() mengembalikan 3.