是否有与 Python 的“枚举"函数等效的 Java?

时间:2023-01-14
本文介绍了是否有与 Python 的“枚举"函数等效的 Java?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

在 Python 中,enumerate 函数允许您可以迭代一系列 (index, value) 对.例如:

In Python, the enumerate function allows you to iterate over a sequence of (index, value) pairs. For example:

>>> numbers = ["zero", "one", "two"]
>>> for i, s in enumerate(numbers):
...     print i, s
... 
0 zero
1 one
2 two

在 Java 中有什么方法可以做到这一点吗?

Is there any way of doing this in Java?

推荐答案

对于实现 List接口,可以调用listIterator() 方法获取 ListIterator.迭代器(除其他外)有两种方法 - nextIndex(),获取索引;和 next(),获取值(与其他迭代器一样).

For collections that implement the List interface, you can call the listIterator() method to get a ListIterator. The iterator has (amongst others) two methods - nextIndex(), to get the index; and next(), to get the value (like other iterators).

所以上面 Python 的 Java 等价物可能是:

So a Java equivalent of the Python above might be:

import java.util.ListIterator;  
import java.util.List;

List<String> numbers = Arrays.asList("zero", "one", "two");
ListIterator<String> it = numbers.listIterator();
while (it.hasNext()) {
    System.out.println(it.nextIndex() + " " + it.next());
}

与 Python 一样,输出:

which, like the Python, outputs:

0 zero
1 one
2 two

这篇关于是否有与 Python 的“枚举"函数等效的 Java?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:Java中的Iterator接口有什么好处? 下一篇:如何创建无限流&lt;E&gt;出迭代器&lt;E&gt;?

相关文章

最新文章