Java LinkedList listIterator() 方法



描述

Java LinkedList listIterator() 方法按正确的顺序返回此列表中元素的列表迭代器。列表迭代器是快速失败的,这意味着在创建迭代器后,如果对 LinkedList 对象进行任何结构修改(不使用 iterator.add() 或 remove() 方法),则会导致 ConcurrentModificationException。

声明

以下是 java.util.LinkedList.listIterator() 方法的声明

public ListIterator<E> listIterator()

参数

返回值

此方法按正确的顺序返回此列表中元素的迭代器。

异常

Java LinkedList listIterator(index) 方法

描述

Java LinkedList listIterator(index) 方法返回此列表中元素的列表迭代器,从指定点开始。指定的索引指示通过对 next 的初始调用返回的第一个元素。对 previous 的初始调用返回索引减一处的元素。列表迭代器是快速失败的,这意味着在创建迭代器后,如果对 LinkedList 对象进行任何结构修改(不使用 iterator.add() 或 remove() 方法),则会导致 ConcurrentModificationException。

声明

以下是 java.util.LinkedList.listIterator() 方法的声明

public ListIterator<E> listIterator(index)

参数

index - 列表迭代器(通过对 next 的调用)要返回的第一个元素的索引

返回值

此方法按正确的顺序返回此列表中元素的迭代器,从列表中的指定位置开始。

异常

IndexOutOfBoundsException - 如果索引超出范围 (index < 0 || index > size())

获取 ListIterator 以迭代 LinkedList 的整数示例

以下示例显示了 Java LinkedList iterator() 方法的用法。我们正在创建一个 LinkedList 的整数。我们使用 add() 方法为每个元素添加几个整数到 LinkedList 对象中,并使用 iterator() 方法迭代列表并打印所有元素。

package com.tutorialspoint;

import java.util.LinkedList;
import java.util.ListIterator;

public class LinkedListDemo {
   public static void main(String[] args) {
      
      // create an empty linked list 
      LinkedList<Integer> linkedList = new LinkedList<>();

      // use add() method to add elements in the linkedList
      linkedList.add(0);
      linkedList.add(1);
      linkedList.add(2);
      linkedList.add(3);
      linkedList.add(4);
      linkedList.add(5);
      linkedList.add(6);
	  
      ListIterator<Integer> listIterator = linkedList.listIterator();
      listIterator.forEachRemaining(i -> System.out.println(i));
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

0
1
2
3
4
5
6

获取 ListIterator 以迭代 LinkedList 的字符串示例

以下示例显示了 Java LinkedList iterator(index) 方法的用法。我们正在创建一个 LinkedList 的字符串。我们使用 add() 方法为每个元素添加几个字符串到 LinkedList 对象中,并使用 iterator(index) 方法迭代列表并打印所有元素,从第 3 个字符串开始。

package com.tutorialspoint;

import java.util.LinkedList;
import java.util.ListIterator;

public class LinkedListDemo {
   public static void main(String[] args) {
      
      // create an empty linked list
      LinkedList<String> linkedList = new LinkedList<>();

      // use add() method to add elements in the linkedList
      linkedList.add("A");
      linkedList.add("B");
      linkedList.add("C");
      linkedList.add("D");
      linkedList.add("E");
      linkedList.add("F");
	  
      ListIterator<String> listIterator = linkedList.listIterator(2);
      listIterator.forEachRemaining(i -> System.out.println(i));
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

C
D
E
F

获取 ListIterator 以迭代 LinkedList 的对象示例

以下示例显示了 Java LinkedList listIterator() 方法的用法。我们正在创建一个 LinkedList 的 Student 对象。我们使用 add() 方法为每个元素添加几个 Student 对象到 LinkedList 对象中,并使用 listIterator() 方法迭代列表并打印所有元素。

package com.tutorialspoint;

import java.util.LinkedList;
import java.util.ListIterator;

public class LinkedListDemo {
   public static void main(String[] args) {

      // create an empty linkedList
      LinkedList<Student> linkedList = new LinkedList<>();

      // use add() method to add elements in the linkedList
      linkedList.add(new Student(1, "Julie"));
      linkedList.add(new Student(2, "Robert"));
      linkedList.add(new Student(3, "Adam"));

      ListIterator<Student> listIterator = linkedList.listIterator();
      listIterator.forEachRemaining(i -> System.out.println(i));    
   }
}

class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
   
   @Override
   public boolean equals(Object obj) {
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果:

[ 1, Julie ]
[ 2, Robert ]
[ 3, Adam ]
java_util_linkedlist.htm
广告

© . All rights reserved.