Rumah  >  Artikel  >  Java  >  Java List Iterator

Java List Iterator

WBOY
WBOYasal
2024-08-30 15:09:361066semak imbas

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();

Bagaimanakah kelas ListIterator berfungsi dalam Java?

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 Arah Hadapan seperti hasNext(), next(), nextIndex()
  • Kaedah Arah Ke Belakang seperti hasPrevious(), previous(), previousIndex()

Kaedah ini akan dibincangkan dalam bahagian seterusnya secara terperinci.

Mari kita lihat cara ListIterator berfungsi.

1. Buat senarai nama

List<String> nm = new ArrayList<String>();
nm.add("Ram");
nm.add("Jaanu");
nm.add("Elsa");
nm.add("Anna");
nm.add("payal");

2. Cipta objek ListIterator

//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.

Kaedah Java Listiterator

Berikut ialah kaedah berbeza yang digunakan dalam Java ListIterator.

1. tambah(Elm)

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:

Java List Iterator

2. hasNext()

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:

Java List Iterator

3. hasPrevious()

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:

Java List Iterator

4. seterusnya()

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:

Java List Iterator

5. nextIndex()

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:

Java List Iterator

6. sebelumnya()

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:

Java List Iterator

7. indeks sebelumnya()

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:

Java List Iterator

8. keluarkan()

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:

Java List Iterator

9. set(E e)

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:

Java List Iterator

Kesimpulan

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:JSP UsebeanArtikel seterusnya:JSP Usebean