Java Vector listIterator() 方法



描述

Java Vector listIterator() 方法以正確的順序返回此向量中元素的列表迭代器。列表迭代器是快速失敗的,這意味著在建立迭代器之後,對向量物件進行任何結構修改(不使用 iterator.add() 或 remove() 方法)將導致 ConcurrentModificationException。

宣告

以下是 java.util.Vector.listIterator() 方法的宣告

public ListIterator<E> listIterator()

引數

返回值

此方法以正確的順序返回此向量中元素的迭代器。

異常

Java Vector listIterator(index) 方法

描述

Java Vector listIterator(index) 方法以正確的順序返回此向量中元素的列表迭代器,從指定點開始。指定的索引指示初始呼叫 next() 時要返回的第一個元素。初始呼叫 previous() 返回索引減一指定的元素。列表迭代器是快速失敗的,這意味著在建立迭代器之後,對向量物件進行任何結構修改(不使用 iterator.add() 或 remove() 方法)將導致 ConcurrentModificationException。

宣告

以下是 java.util.Vector.listIterator() 方法的宣告

public ListIterator<E> listIterator(index)

引數

index − 列表迭代器(透過呼叫 next())要返回的第一個元素的索引

返回值

此方法以正確的順序返回此向量中元素的迭代器,從向量中的指定位置開始。

異常

IndexOutOfBoundsException − 如果索引超出範圍 (index < 0 || index > size())

獲取整數向量的 ListIterator 示例

以下示例演示了 Java Vector iterator() 方法的用法。我們正在建立一個整數向量。我們使用 add() 方法為每個元素新增幾個整數到 Vector 物件中,並使用 iterator() 方法迭代向量並列印所有元素。

package com.tutorialspoint;

import java.util.Vector;
import java.util.ListIterator;

public class VectorDemo {
   public static void main(String[] args) {
      
      // create an empty array vector 
      Vector<Integer> vector = new Vector<>();

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

輸出

讓我們編譯並執行上面的程式,這將產生以下結果:

0
1
2
3
4
5
6

獲取字串向量的 ListIterator 示例

以下示例演示了 Java Vector iterator(index) 方法的用法。我們正在建立一個字串向量。我們使用 add() 方法為每個元素新增幾個字串到 Vector 物件中,並使用 iterator(index) 方法迭代向量並列印從第 3 個字串開始的所有元素。

package com.tutorialspoint;

import java.util.Vector;
import java.util.ListIterator;

public class VectorDemo {
   public static void main(String[] args) {
      
      // create an empty array vector
      Vector<String> vector = new Vector<>();

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

輸出

讓我們編譯並執行上面的程式,這將產生以下結果:

C
D
E
F

獲取物件向量的 ListIterator 示例

以下示例演示了 Java Vector listIterator() 方法的用法。我們正在建立一個 Student 物件的向量。我們使用 add() 方法為每個元素新增幾個 Student 物件到 Vector 物件中,並使用 listIterator() 方法迭代向量並列印所有元素。

package com.tutorialspoint;

import java.util.Vector;
import java.util.ListIterator;

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

      // create an empty vector
      Vector<Student> vector = new Vector<>();

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

      ListIterator<Student> listIterator = vector.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_vector.htm
廣告