在 Java 中如何逆序迭代向量元素?
在 java.util 包中找到了向量类,它实现了 List 接口。Vector 类包含在 java 1.2 版本的 Java 集合框架中。与数组不同,向量可以增长和缩小其大小,因此它们也被称为动态数组。向量是同步的,即它们是线程安全的。
基本上有两种方法来以相反的顺序迭代向量元素,虽然还有另一种方法使用 Apache Commons 在向后的方向上向后迭代向量,但是要使用它,我们只需要下载一些 jar 文件和包,而且,系统的大部分不支持 apache-commons。
我们将使用两种方法:
- 使用 For 循环
- 使用列表迭代器
方法 1:用于循环
要使用 for 循环向后迭代向量元素,我们可以通过从索引(向量)运行循环来从向后遍历向量。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<String> numbers = new Vector<String>();
// 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));
}
}
}
Output
Four
Three
Two
One
方法二:使用列表迭代器
向量类有一个列表迭代器方法,用来迭代向量。列表迭代器方法从遍历必须开始的地方获取起始索引,并返回列表迭代器。
- 列表迭代器有向前和向后遍历的方法。由于我们必须向后遍历,所以我们将起始索引作为数组大小传递,然后我们将使用 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<String> numbers = new Vector<String>();
// 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<String> 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());
}
}
}
Output
Four
Three
Two
One
版权属于:月萌API www.moonapi.com,转载请注明出处