如何在Java中以相反的顺序迭代向量元素?
Vector 类位于Java .util 包中,它实现了 List 接口。 Vector 类包含在Java 1.2 版的Java集合框架中。与数组不同,向量可以增长和缩小它们的大小,因此它们也被称为动态数组。向量是同步的,即它们是线程安全的。
基本上有两种以相反顺序迭代向量元素的方法,虽然还有另一种方法使用 Apache Commons 向后反向迭代向量,但要使用它,我们只需要下载一些 jar 文件和包,而且,大多数系统不支持apache-commons。
我们将使用两种方法:
- 使用 For 循环
- 使用 ListIterator
方法一:使用For循环
要使用 for 循环反向迭代向量元素,我们可以通过运行从索引 (vector.size()-1) 到索引 0 的循环从反向遍历向量。
Java
// Java Program to traverse the vector elements in backward
// direction
import java.util.*;
class GFG {
public static void main(String[] args)
{
// creating a vector of String type
Vector numbers = new Vector();
// adding elements to vector
numbers.add("One");
numbers.add("Two");
numbers.add("Three");
numbers.add("Four");
// Iterating from index equal to numbers.size()-1to
// 0 and decrement index by 1 using the for loop
for (int index = numbers.size() - 1; index >= 0; index--) {
System.out.println(numbers.get(index));
}
}
}
Java
// Java Program to traverse the vector elements in backward
// direction using ListIterator
import java.util.*;
class GFG {
public static void main(String[] args)
{
// creating a vector of String type
Vector numbers = new Vector();
// adding elements to vector
numbers.add("One");
numbers.add("Two");
numbers.add("Three");
numbers.add("Four");
// listIterator method will return the list of
// String of type ListIterator.
ListIterator listIterator
= numbers.listIterator(numbers.size());
// Iterate the ListIterator using the hasPrevious()
// method
while (listIterator.hasPrevious()) {
// if element exist at previous index,then print
// that element
System.out.println(listIterator.previous());
}
}
}
输出
Four
Three
Two
One
方法二:使用ListIterator
Vector 类具有 ListIterator 方法,用于迭代向量。 ListIterator 方法从必须开始遍历的位置获取起始索引并返回 ListIterator。
- ListIterator 具有向前和向后遍历的方法。由于我们必须向后遍历,所以我们将传递起始索引为等于数组的大小,然后我们将使用 ListIterator 的hasPrevious()方法,其中我们将向后元素打印到当前索引(如果存在)。
Java
// Java Program to traverse the vector elements in backward
// direction using ListIterator
import java.util.*;
class GFG {
public static void main(String[] args)
{
// creating a vector of String type
Vector numbers = new Vector();
// adding elements to vector
numbers.add("One");
numbers.add("Two");
numbers.add("Three");
numbers.add("Four");
// listIterator method will return the list of
// String of type ListIterator.
ListIterator listIterator
= numbers.listIterator(numbers.size());
// Iterate the ListIterator using the hasPrevious()
// method
while (listIterator.hasPrevious()) {
// if element exist at previous index,then print
// that element
System.out.println(listIterator.previous());
}
}
}
输出
Four
Three
Two
One