Java java지도 시간 Java의 ListIterator 및 Iterator에 대한 자세한 설명 및 분석

Java의 ListIterator 및 Iterator에 대한 자세한 설명 및 분석

Dec 13, 2016 pm 05:20 PM
iterator

Java 컬렉션을 사용하는 경우 Iterator를 사용해야 합니다. 그러나 Java 컬렉션에는 List, ArrayList, LinkedList 및 Vector를 사용할 때 사용할 수 있는 반복자 ListIterator도 있습니다. 이 두 반복자의 차이점은 무엇입니까? 아래에서 자세히 분석해 보겠습니다. 여기서 분명히 해야 할 것은 다음 그림과 같이 반복자가 가리키는 위치가 요소 앞의 위치라는 것입니다.

Java의 ListIterator 및 Iterator에 대한 자세한 설명 및 분석

여기서는 가정합니다. 집합 List는 List1, List2, List3 및 List4의 네 가지 요소로 구성됩니다. Iterator it = List.Iterator() 문을 사용할 때 iterator가 가리키는 위치는 위 그림에서 Iterator1이 가리키는 위치입니다. 문장 it.next()에서 iterator가 가리키는 위치는 이후입니다. 위 그림에서 Iterator2가 가리키는 위치로 이동합니다.

먼저 Iterator와 ListIterator의 메소드를 살펴보겠습니다.

Iterator 메서드에는 다음이 포함됩니다.

hasNext(): 반복자가 가리키는 위치 뒤에 요소가 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

next(): 다음을 반환합니다. 컬렉션에서 Iterator가 가리키는 위치 뒤에 있는 요소

remove(): 컬렉션에서 Iterator가 가리키는 위치 뒤에 있는 요소를 제거합니다.

ListIterator 반복자에 포함된 메서드는 다음과 같습니다.

add(E e): 지정된 요소를 목록에 삽입하고 삽입 위치는 반복자의 현재 위치 이전입니다.

hasNext(): 목록을 정방향으로 순회할 때 해당 요소가 있는 경우 목록 반복자 뒤에 요소가 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다

hasPrevious(): 목록을 역방향으로 탐색하고 목록 반복자 앞에 요소가 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다

next(): 목록에서 ListIterator가 가리키는 위치를 반환합니다. 다음 요소

nextIndex(): 목록에서 ListIterator가 요구하는 위치 뒤에 있는 요소의 인덱스를 반환합니다.

previous(): ListIterator가 가리키는 위치 앞의 요소를 목록에서 반환

previousIndex(): 목록에서 ListIterator의 원하는 위치 앞에 있는 요소의 인덱스를 반환

remove(): next() 또는 이전()이 반환한 마지막 요소를 목록에서 제거합니다(약간 혼란스럽습니다. 반복자를 사용한다는 뜻입니다. hasNext() 메서드를 사용할 때 ListIterator가 가리키는 위치 뒤의 요소를 삭제합니다. iterator의 hasPrevious() 메소드를 사용하여 ListIterator가 가리키는 위치 앞의 요소를 삭제합니다.)

set(E e): 목록에서 next를 제거합니다. () 또는 이전()이 반환한 마지막 요소가 변경됩니다. 지정된 요소 e

에 하나. 동일한 포인트

는 순회 프로세스를 방해하지 않고 컬렉션의 요소를 순회해야 하는 경우 두 반복자를 모두 사용할 수 있습니다.

2. 차이점

1. 다양한 사용 범위, Iterator는 모든 컬렉션, Set, List 및 Map과 이러한 컬렉션의 하위 유형에 적용될 수 있습니다. ListIterator는 List 및 해당 하위 유형에만 사용할 수 있습니다.

2. ListIterator에는 List에 객체를 추가할 수 있는 add 메서드가 있지만 Iterator는 그럴 수 없습니다.

3. ListIterator와 Iterator에는 모두 순차 역방향 순회를 구현할 수 있는 hasNext() 및 next() 메서드가 있지만 ListIterator에는 역방향(순차 순방향) 순회를 구현할 수 있는 hasPrevious() 및 Previous() 메서드가 있습니다. . 반복자는 할 수 없습니다.

4.ListIterator는 현재 인덱스의 위치를 ​​찾을 수 있으며 nextIndex() 및 PreviousIndex()가 이를 달성할 수 있습니다. Iterator에는 이 기능이 없습니다.

5. 모두 삭제 작업을 수행할 수 있지만 ListIterator는 객체 수정을 수행할 수 있으며 set() 메서드를 사용하면 이를 수행할 수 있습니다. Iterator는 순회만 가능하며 수정할 수 없습니다.

3: Iterator 및 ListIterator 사용 예

ListIterator 사용:

package com.collection;

import java.util.LinkedList;
import java.util.List;
가져오기 java.util.ListIterator;

public class ListIteratorTest {
 public static void main(String[] args) {  // TODO Auto-generated method stub  List<String> staff = new LinkedList<>();  staff.add("zhuwei");  staff.add("xuezhangbin");  staff.add("taozhiwei");  ListIterator<String> iter = staff.listIterator();  String first = iter.next();    //删除zhuwei  iter.remove();    //把zhuwei改为simei  //iter.set("simei");  System.out.println("first:"+first);    iter.add("xiaobai");    //遍历List元素  System.out.println("遍历List中元素,方法一:");  for(String str : staff)   System.out.println(str+"  ");    iter = staff.listIterator();  System.out.println("遍历List中元素,方法二:");  while(iter.hasNext())  {   System.out.println(iter.next());  } }
}
로그인 후 복사


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

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Java Iterator와 Iterable: 반복자와 반복 가능한 객체의 세계 알아보기 Java Iterator와 Iterable: 반복자와 반복 가능한 객체의 세계 알아보기 Feb 19, 2024 pm 02:15 PM

Java 프로그래밍에서 Iterator 및 Iterable 인터페이스는 컬렉션의 요소를 처리하는 데 중요한 도구입니다. Iterator 인터페이스는 컬렉션 요소에 대한 반복적인 액세스를 위한 메서드를 제공하는 반면, Iterable 인터페이스는 컬렉션의 요소가 Iterator를 통해 액세스될 수 있도록 컬렉션의 반복성을 정의합니다. 둘 사이의 긴밀한 협력은 컬렉션 요소를 탐색하는 일반적인 방법을 제공합니다. Iterator 인터페이스 Iterator 인터페이스는 다음 메소드를 정의합니다. booleanhasNext(): 컬렉션에 아직 요소가 있는지 확인합니다. Enext(): 컬렉션의 다음 요소를 반환합니다. voidremove(): 현재 요소를 제거합니다. 반복 가능

Java Iterator와 Iterable: 우아한 코드 작성을 위한 단계 Java Iterator와 Iterable: 우아한 코드 작성을 위한 단계 Feb 19, 2024 pm 02:54 PM

Iterator 인터페이스 Iterator 인터페이스는 컬렉션을 순회하는 데 사용되는 인터페이스입니다. hasNext(), next() 및 Remove()를 포함한 여러 메소드를 제공합니다. hasNext() 메서드는 컬렉션에 다음 요소가 있는지 여부를 나타내는 부울 값을 반환합니다. next() 메서드는 컬렉션의 다음 요소를 반환하고 컬렉션에서 제거합니다. Remove() 메서드는 컬렉션에서 현재 요소를 제거합니다. 다음 코드 예제에서는 Iterator 인터페이스를 사용하여 컬렉션을 반복하는 방법을 보여줍니다. Listnames=Arrays.asList("John","Mary","Bob");Iterator

Java Iterator와 Iterable의 심층 비교: 장단점 분석 Java Iterator와 Iterable의 심층 비교: 장단점 분석 Feb 19, 2024 pm 04:20 PM

개념적 차이점: Iterator: Iterator는 컬렉션에서 값을 얻는 반복자를 나타내는 인터페이스입니다. MoveNext(), Current() 및 Reset()과 같은 메서드를 제공하여 컬렉션의 요소를 순회하고 현재 요소에 대해 작업을 수행할 수 있습니다. Iterable: Iterable은 반복 가능한 객체를 나타내는 인터페이스이기도 합니다. 컬렉션의 요소 탐색을 용이하게 하기 위해 Iterator 객체를 반환하는 Iterator() 메서드를 제공합니다. 사용법: Iterator: Iterator를 사용하려면 먼저 Iterator 객체를 얻은 후 MoveNext() 메서드를 호출하여 다음 객체로 이동해야 합니다.

Java Iterator 및 Iterable: 설명된 컬렉션 탐색의 핵심 Java Iterator 및 Iterable: 설명된 컬렉션 탐색의 핵심 Feb 20, 2024 am 10:27 AM

Iterator 소개 Iterator는 컬렉션 탐색을 위한 Java의 인터페이스입니다. 컬렉션의 요소에 순차적으로 액세스할 수 있는 메서드 집합을 제공합니다. Iterator를 사용하여 List, Set, Map과 같은 컬렉션 유형을 반복할 수 있습니다. 데모 코드: Listlist=newArrayList();list.add("one");list.add("two");list.add("two");Iteratoriterator=list.iterator();while(iter

Java Iterator와 Iterable: Java 컬렉션의 힘 활용 Java Iterator와 Iterable: Java 컬렉션의 힘 활용 Feb 19, 2024 pm 07:00 PM

Java에서 컬렉션은 이러한 요소를 저장, 검색 및 작동하기 위한 통합 인터페이스와 메서드를 제공하는 요소의 컬렉션입니다. Iterator 및 Iterable은 컬렉션 요소 순회를 위한 공통 메커니즘을 제공하는 두 가지 중요한 Java 인터페이스입니다. Iterator 인터페이스는 컬렉션 순회를 위한 hasNext() 및 next() 메소드를 정의합니다. hasNext() 메소드는 컬렉션에 탐색되지 않은 요소가 있는지 확인하는 데 사용되며, next() 메소드는 현재 요소를 반환하고 다음 요소로 이동하는 데 사용됩니다. Iterable 인터페이스는 컬렉션의 요소를 순회하기 위해 Iterator 객체를 반환하는 iterator() 메서드를 정의합니다.

Java Iterator 및 Iterable: Java 컬렉션 순회 메커니즘에 대한 심층 분석 Java Iterator 및 Iterable: Java 컬렉션 순회 메커니즘에 대한 심층 분석 Feb 19, 2024 pm 08:36 PM

Iterator 인터페이스 Iterator 인터페이스는 컬렉션 탐색을 위한 Java 컬렉션 프레임워크의 하위 수준 인터페이스입니다. 이는 두 가지 주요 메소드를 정의합니다: hasNext(): 컬렉션에 더 많은 요소가 있는지 확인합니다. next(): 컬렉션의 다음 요소를 반환합니다. Iterator 인터페이스는 컬렉션에서 현재 요소를 제거하는 데 사용되는 Remove() 메서드와 같은 일부 선택적 메서드도 정의합니다. Iterator 인터페이스 사용하기 Iterator 인터페이스를 사용하면 다음 단계에 따라 컬렉션을 탐색할 수 있습니다. 컬렉션의 Iterator 객체를 가져옵니다. 컬렉션에 추가 요소가 있는지 확인하려면 hasNext() 메서드를 사용하세요. 요소가 더 있으면 next() 메서드를 사용하여 다음 요소를 가져옵니다.

Java Iterator 및 Iterable: 컬렉션 탐색의 비하인드 스토리 Java Iterator 및 Iterable: 컬렉션 탐색의 비하인드 스토리 Feb 19, 2024 pm 04:15 PM

Iterator(Iterator)와 Iterable 객체(Iterable)는 Java 컬렉션 프레임워크에서 매우 중요한 두 가지 인터페이스입니다. 컬렉션의 특정 구현을 알지 못해도 컬렉션의 요소를 반복할 수 있습니다. Iterator 인터페이스는 hasNext() 및 next()를 포함하여 컬렉션을 탐색하기 위한 메서드를 정의합니다. hasNext() 메서드는 컬렉션에 추가 요소가 있는지 확인하고, next() 메서드는 컬렉션의 다음 요소를 반환합니다. Iterable 인터페이스는 Iterator() 메소드인 Iterator를 생성하는 메소드를 정의합니다. 이 메서드는 컬렉션을 반복하는 데 사용할 수 있는 Iterator 개체를 반환합니다. 다음은 Itera를 사용하고 있습니다

Java 문서 해석: HashSet 클래스의 iterator() 메소드 사용법에 대한 자세한 설명 Java 문서 해석: HashSet 클래스의 iterator() 메소드 사용법에 대한 자세한 설명 Nov 03, 2023 am 09:44 AM

Java 문서 해석: HashSet 클래스의 iterator() 메소드 사용법에 대한 자세한 설명이 필요합니다. Java 프로그래밍에서 HashSet은 일반적으로 사용되는 컬렉션 클래스 중 하나이며 Set 인터페이스를 상속합니다. AbstractSet 클래스. HashSet 클래스의 iterator() 메서드는 HashSet의 요소를 순회하기 위한 반복자 객체를 반환하는 데 사용됩니다. 이번 글에서는 HashSet 클래스의 iterator() 메소드 사용법을 자세히 설명하고,

See all articles