在Java中,如何获取Java中元素的当前索引?

for (Element song: question){
    song.currentIndex();         //<<want the current index.
}

在PHP中,您可以这样做:

foreach ($arr as $index => $value) {
    echo "Key: $index; Value: $value";
}

推荐答案

你不能,你要么需要单独保存索引:

int index = 0;
for(Element song : question) {
    System.out.println("Current index is: " + (index++));
}

或者使用普通for循环:

for(int i = 0; i < question.length; i++) {
    System.out.println("Current index is: " + i);
}

原因是您可以使用精简的FOR语法在任意Iterable上循环,并且不能保证这些值确实有一个"索引"

Java相关问答推荐

如何从片段请求数据到活动?在主要活动中单击按钮请求数据?

当列顺序更改时,Table View列列表的Change. wasPermanted()总是返回假

Java:根据4象限中添加的行数均匀分布行的公式

在spring—data中自动发现native—sql查询期间遇到重复的SQL别名[id]

使用标记时,场景大纲不在多个线程上运行

所有 case 一起输入时输出错误,而单独放置时输出正确

在Spring Boot中使用哪个Java类来存储创建时间戳?

虚拟线程应该很快消亡吗?

二进制数据的未知编码/序列化

Regex以查找不包含捕获组的行

如何创建模块信息类文件并将其添加到JAR中?

STREAMS减少部分结果的问题

JOLT根据值删除并保留其余的json键

每次我需要时创建和关闭数据库连接会有什么效果吗?

IntelliJ IDEA中的JavaFX应用程序无法在资源中找到CSS文件

循环不起作用只有第一个元素重复

使用@ExceptionHandler的GlobalExceptionHandler还是来自服务器的REST应答的ResponseEntity?

如何判断元素计数并在流的中间抛出异常?

在不带instanceof或switch的java中记录模式

人们在 IntelliJ 上将-Dhttp.proxyHost=your.proxy.net -Dhttp.proxyPort=8080放在哪里?