>  기사  >  Java  >  Java 목록 반복자

Java 목록 반복자

WBOY
WBOY원래의
2024-08-30 15:09:361035검색

Java에서 ListIterator는 목록의 요소를 하나씩 반복하는 데 도움이 되는 양방향 반복자입니다. 이는 Java 1.2 버전에서 사용 가능하며 Iterator 인터페이스를 확장합니다. 일반 반복자와 달리 ListIterator는 CRUD 작업, 순방향 및 역방향 반복을 지원합니다. 게다가 커서의 위치가 이전() 호출 시 반환되는 요소와 next() 호출 시 반환되는 요소 사이에 있으므로 listiterator에는 현재 요소가 없습니다.

무료 소프트웨어 개발 과정 시작

웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등

구문

아래는 Java ListIterator의 구문입니다.

ListIterator<T> li = list.listIterator();

Java에서 ListIterator 클래스는 어떻게 작동하나요?

이미 논의한 것처럼 Java ListIterator는 정방향과 역방향으로 순회하는 양방향 반복자입니다. 이 기능을 지원하기 위해 두 가지 방법 세트를 사용할 수 있습니다.

  • hasNext(), next(), nextIndex()와 같은 정방향 메소드
  • hasPrevious(), Previous(), PreviousIndex() 등 역방향 메서드

이러한 방법은 다음 섹션에서 자세히 설명합니다.

ListIterator가 어떻게 작동하는지 살펴보겠습니다.

1. 이름 목록 만들기

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

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

Java Listiterator의 방법

다음은 Java ListIterator에서 사용되는 다양한 메소드입니다.

1. 추가(E 느릅나무)

elm 요소가 목록에 삽입됩니다. 코드:

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

출력:

Java 목록 반복자

2. hasNext()

정방향 순회 중에 반복자에 다음 요소가 있으면 True가 반환됩니다.

코드:

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

출력:

Java 목록 반복자

3. hasPrevious()

역방향 순회 중에 반복자에 다음 요소가 있으면 True가 반환됩니다.

코드:

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

출력:

Java 목록 반복자

4. 다음()

다음 요소가 반환되며, 커서 위치가 앞으로 이동합니다.

코드:

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

출력:

Java 목록 반복자

5. 다음인덱스()

next() 호출 시 반환될 요소에 대한 인덱스가 반환됩니다.

코드:

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

출력:

Java 목록 반복자

6. 이전()

이전 요소가 반환되고, 커서 위치가 뒤로 이동됩니다.

코드:

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

출력:

Java 목록 반복자

7. 이전인덱스()

이전() 호출 시 반환되는 요소에 대한 인덱스가 반환됩니다.

코드:

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

출력:

Java 목록 반복자

8. 제거()

next() 또는 이전() 호출 시 반환된 마지막 요소가 제거됩니다.

코드:

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

출력:

Java 목록 반복자

9. 세트(E e)

next() 또는 이전()에서 반환된 마지막 요소를 지정된 요소로 바꿉니다(선택적 작업).

코드:

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

출력:

Java 목록 반복자

결론

ListIterator는 목록의 요소를 하나씩 반복하는 Java의 양방향 반복자입니다. CRUD 작업은 일반 반복자와 달리 ListIterator에서 지원됩니다. 이 기사에서는 ListIterator의 다양한 측면에 대해 자세히 설명합니다.

위 내용은 Java 목록 반복자의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:JSP 유즈빈다음 기사:JSP 유즈빈