java - Java中的链表方法
问题描述
我试图了解 .previous() 方法的实际工作原理。
在这一行:
System.out.printf("%s ", a.previous());
它首先在行中打印实际的项目,然后转到上一个项目还是只获取上一个值?
因为 l1.size() 是 5,那么循环条件检查第 5 个位置是否有先前的值?
基本上我只需要知道这是如何按顺序工作的。先感谢您。
public static void main(String[] args) {
String[] a = {"apple", "bee", "orange", "noob", "win"};
List<String> list1 = new LinkedList<String>();
for (String s : a) {
list1.add(s);
}
System.out.println("List1 Size: " + list1.size());
reverse(list1);
}
//reverse method
public static void reverse(List<String> l1) {
ListIterator<String> a = l1.listIterator(l1.size());
while (a.hasPrevious()) {
System.out.printf("%s ", a.previous());
}
}
解决方案
a.previous
获取当前值之前的值。它首先检查 currenta
是否有一个直接在它之前的值(即指向 value 的节点a
)来做到这一点。如果是,则返回该值。然后由您的System.out.println
推荐阅读
- python - 如何创建 4 个标题,使其成为 CSV 文件中 pandas 数据框中 16 列的标题行?
- spring-boot - Springdoc-openapi。ClassNotFoundException:org.springframework.data.rest.webmvc.support.DefaultedPageable
- sql - ORA-01652 为什么未使用的行限制器解决了这个问题?
- python - 全局变量未更新
- c - C中字符串末尾的两个空终止符号
- javascript - JavaScript 获取对象数组中的元素
- reactjs - 可以在 jsx 中使用的道具的正确类型是什么?
- python - 无法在 pyspark 中将 JSON 转换为 StructField
- amazon-cloudformation - 如何使用 cloudformation 将资源从一个 yaml 模板调用到另一个 yaml 模板
- java - 即使为 SSLContext 配置了接受所有证书的 TrustManager,Weblogic 也会使用配置的密钥库