Java迭代器内容访问

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java迭代器内容访问相关的知识,希望对你有一定的参考价值。

首先,我必须说我在学校学习了Java(基础知识......)和大学里的C ++(OOP)。很快我将编写一个Java项目,现在我正在寻找Java中的STL等价物。

我正在学习在Java中使用迭代器,我一直在寻找一种方法来访问迭代器的内容而不使用next(),previous()方法(我见过here)。我的意思是强制转换:对象的迭代器,就像指针中的operator *。当我写(Object)obj时代码编译但是我得到了Java.lang.ClassCastException

答案

相当于STL容器的Java是CollectionListSetMap接口。这些接口最常见的具体实现是ArrayListHashSetTreeSetHashMapTreeMap

迭代器是Java中一个古老的,非常常用的接口。您通常不需要使用迭代器。相反,使用增强的for循环语法直接循环容器:

List<String> names = new ArrayList<>();

for (String name: names) {
    System.out.printf("Hello %s%n!", name);
}

如果使用迭代器,则调用next()是访问容器元素的方法。每次调用都会返回集合中的下一个元素。没有其他办法。迭代器不是指针;您无法通过解除引用或转换内容或类似内容来访问其内容。你打电话给next()

以上是关于Java迭代器内容访问的主要内容,如果未能解决你的问题,请参考以下文章

Java 设计模式之迭代器学习与掌握

Java 设计模式之迭代器学习与掌握

设计模式迭代器模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )

Java源代码-迭代器模式

迭代器模式

201621123062《java程序设计》第九周作业总结