Dalam Java, ListIterator ialah lelaran dwiarah yang membantu mengulang elemen dalam senarai satu demi satu. Ia boleh didapati daripada versi Java 1.2 dan memanjangkan antara muka Iterator. Tidak seperti lelaran biasa, ListIterator menyokong operasi CRUD, lelaran ke hadapan dan ke belakang. Tambahan pula, memandangkan kedudukan kursor berada di antara elemen yang akan dikembalikan semasa memanggil previous() dan elemen yang akan dikembalikan semasa memanggil next (), listiterator tidak mempunyai elemen semasa.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Sintaks
Di bawah ialah sintaks Java ListIterator.
ListIterator<T> li = list.listIterator();
Seperti yang telah dibincangkan, Java ListIterator ialah Iterator Dwi-arah yang melintasi arah hadapan dan arah belakang. Untuk menyokong fungsi ini, dua set kaedah tersedia.
Kaedah ini akan dibincangkan dalam bahagian seterusnya secara terperinci.
Mari kita lihat cara ListIterator berfungsi.
List<String> nm = new ArrayList<String>(); nm.add("Ram"); nm.add("Jaanu"); nm.add("Elsa"); nm.add("Anna"); nm.add("payal");
//get list iterator ListIterator<String> li =nm.listIterator(); In the beginning, the Cursor of ListIterator will be pointed before the first element in the List. On calling the methods li.hasNext() and li.next() in a while loop, the cursor will be moved to the last element in the list. In order to start traversing from last, li.hasPrevious( ) and li.previous() methods will be called. On reaching the first element and again calling the same method will return a false value.
Berikut ialah kaedah berbeza yang digunakan dalam Java ListIterator.
Elm elemen akan dimasukkan ke dalam senarai. Kod:
import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class ListIterExample { public static void main(String a[]) { ListIterator<String> li = null; List<String> nm = new ArrayList<String>(); //add the elements to the list nm.add("Ram"); nm.add("Jaanu"); nm.add("Elsa"); nm.add("Anna"); nm.add("payal"); //get list iterator li=nm.listIterator(); System.out.println("List is :"); while(li.hasNext()){ System.out.println(li.next()); } } }
Output:
True akan dikembalikan jika iterator mempunyai elemen seterusnya semasa traversal ke arah hadapan.
Kod:
import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class ListIterExample { public static void main(String a[]) { ListIterator<String> li = null; List<String> nm = new ArrayList<String>(); nm.add("Ram"); nm.add("Jaanu"); //get list iterator li=nm.listIterator(); System.out.println("List is :"); //iterates if next element is present in forward direction while(li.hasNext()){ System.out.println(li.next()); } } }
Output:
True akan dikembalikan jika iterator mempunyai elemen seterusnya semasa traversal ke arah belakang.
Kod:
import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class ListIterExample { //main method public static void main(String a[]) { // ListIterator<String> li = null; List<String> nm = new ArrayList<String>(); nm.add("Ram"); nm.add("Jaanu"); //get list iterator li=nm.listIterator(); System.out.println("Traversal in forward direction::"); while(li.hasNext()){ System.out.println(li.next()); } System.out.println("\nTraversal in backward direction:"); while(li.hasPrevious()){ System.out.println(li.previous()); } } }
Output:
Elemen seterusnya akan dikembalikan, dan kedudukan kursor akan dimajukan.
Kod:
import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class ListIterExample { public static void main(String a[]) { ListIterator<String> li = null; List<String> nm = new ArrayList<String>(); nm.add("Ram"); nm.add("Jaanu"); //get list iterator li=nm.listIterator(); System.out.println("List is :"); //iterates if next element is present in forward direction while(li.hasNext()){ System.out.println(li.next()); } } }
Output:
Indeks akan dikembalikan untuk elemen yang akan dikembalikan semasa memanggil next().
Kod:
import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class ListIterExample { //main method public static void main(String a[]) { // ListIterator<String> li = null; List<String> nm = new ArrayList<String>(); nm.add("Ram"); nm.add("Jaanu"); nm.add("Khan"); nm.add("Alia"); nm.add("Jhanvi"); //get list iterator li=nm.listIterator(); System.out.println("The index of first element : " + li.nextIndex()); li.next(); System.out.println("The index of second element : " + li.nextIndex()); li.next(); System.out.println("The index of third element : " + li.nextIndex()); li.next(); System.out.println("The index of fourth element : " + li.nextIndex()); li.next(); System.out.println("The index of fifth element : " + li.nextIndex()); } }
Output:
Elemen sebelumnya akan dikembalikan, dan kedudukan kursor akan dialihkan ke belakang.
Kod:
import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class ListIterExample { //main method public static void main(String a[]) { // ListIterator<String> li = null; List<String> nm = new ArrayList<String>(); nm.add("Ram"); nm.add("Jaanu"); //get list iterator li=nm.listIterator(); System.out.println("Traversal in forward direction::"); while(li.hasNext()){ System.out.println(li.next()); } System.out.println("\nTraversal in backward direction:"); while(li.hasPrevious()){ System.out.println(li.previous()); } } }
Output:
Indeks akan dikembalikan untuk elemen yang akan dikembalikan semasa memanggil sebelumnya().
Kod:
import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class ListIterExample { //main method public static void main(String a[]) { // ListIterator<String> li = null; List<String> nm = new ArrayList<String>(); nm.add("Ram"); nm.add("Jaanu"); nm.add("Khan"); nm.add("Alia"); nm.add("Jhanvi"); //get list iterator li=nm.listIterator(); System.out.println("The index of first element : " + li.previousIndex()); li.next(); System.out.println("The index of second element : " + li.previousIndex()); li.next(); System.out.println("The index of third element : " + li.previousIndex()); li.next(); System.out.println("The index of fourth element : " + li.previousIndex()); li.next(); System.out.println("The index of fifth element : " + li.previousIndex()); } }
Output:
Elemen terakhir yang dikembalikan semasa memanggil next() atau previous() akan dialih keluar.
Kod:
import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class ListIterExample { //main method public static void main(String a[]) { // ListIterator<String> li = null; List<String> nm = new ArrayList<String>(); nm.add("Ram"); nm.add("Jaanu"); nm.add("Kavya"); nm.add("Dileep"); nm.add("Sam"); nm.add("Anna"); //get list iterator li=nm.listIterator(); System.out.println("List is : " + nm); li.next(); li.next(); li.remove(); System.out.println("After calling remove() method : " + nm); } }
Output:
Menggantikan elemen terakhir yang dikembalikan oleh next() atau previous() dengan elemen yang ditentukan (operasi pilihan).
Kod:
import java.util.ArrayList; import java.util.List; import java.util.ListIterator; public class ListIterExample { //main method public static void main(String a[]) { // ListIterator<String> li = null; List<String> nm = new ArrayList<String>(); nm.add("Ram"); nm.add("Jaanu"); nm.add("Kavya"); nm.add("Dileep"); nm.add("Sam"); nm.add("Anna"); //get list iterator li=nm.listIterator(); System.out.println("List is : " + nm); li.next(); li.next(); li.set("Anjali"); System.out.println("After calling set() method : " + nm); } }
Output:
ListIterator ialah lelaran dwiarah dalam Java yang melelaran elemen dalam senarai satu demi satu. Operasi CRUD disokong dalam ListIterator, tidak seperti iterator biasa. Dalam artikel ini, pelbagai aspek ListIterator dibincangkan secara terperinci.
Atas ialah kandungan terperinci Java List Iterator. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!