使用Java ListIterator 获取上一个和下一个索引
ArrayList 中的上一个索引和下一个索引可以分别使用 ListIterator 接口的 previousIndex() 和 nextIndex() 方法获得。如果 previousIndex() 位于列表的开头,则它也可以返回 -1。
例子:
Input: list = [2, 3, 6, 8]
listiterator is at the beginning find previous index.
Output: -1
Input: list = [2, 3, 6, 8]
listiterator is at the beginning find next index.
使用 previousIndex() 和 nextIndex() 的步骤:
- 创建一个空的 ArrayList
- 将元素添加到 ArrayList。
- 使用 listIterator() 方法创建一个列表迭代器。
Listiteratoriterator = arrList.listIterator();
- 现在使用以下命令获取所需的索引
句法
iterator.previousIndex();
返回:后续调用 previous 将返回的元素的索引,如果列表迭代器位于列表的开头,则返回 -1
句法
iterator.nextIndex();
返回:后续调用 next 将返回的元素的索引,如果列表迭代器位于列表末尾,则返回列表大小
例子
Java
// Java program to get Previous and
// next index using ListIterator
import java.io.*;
import java.util.ArrayList;
import java.util.ListIterator;
class PreviousAndNextIndex {
public static void main(String[] args)
{
// create empty ArrayList
ArrayList arrList
= new ArrayList();
// add elements to the ArrayList
arrList.add(5);
arrList.add(10);
arrList.add(15);
arrList.add(20);
arrList.add(25);
arrList.add(30);
// print the initial list
System.out.println("Initial arraylist =>"
+ arrList);
// initializing ListIterator
ListIterator iterator
= arrList.listIterator();
// initially iterator is the beginning so
// previousIndex() will return -1
System.out.println("previous index =>"
+ iterator.previousIndex());
// from -1 moving iterator to the 1st index
iterator.next();
iterator.next();
// now iterator is at 1st index
// so nextIterator() will return 2
System.out.println("Next index =>"
+ iterator.nextIndex());
}
}
输出:
Initial arraylist =>[5, 10, 15, 20, 25, 30]
previous index =>-1
Next index =>2