0

是否可以将 java 包含与 lastIndexOf 一起使用?

我正在从文件中获取一些信息,并且需要获取它的最后一次出现。

文件看起来像这样

17,560.0
17,583.0
17,606.0

我正在使用这样的东西。

System.out.println(lines.indexOf("17"));

但是它不会工作,因为它会寻找正好 17,并且不会再占用了。有什么办法吗?

4

2 回答 2

3

假设您的行在 aList<String> lines或类似的东西中,我将对这些行进行反向迭代lines,检查它是否以所需的值开头。例如:

for (int i = lines.size() - 1; i >= 0; i--) {
    if (lines.get(i).startsWith("17") {
        return lines.get(i);
    }
}

请注意,我们在 开始lines.size() - 1和结束0,因为List索引是从零开始的。

于 2012-10-20T11:44:32.173 回答
1

不,您需要遍历集合才能获得那种lastIndexOf.

就像是:

int li = -1, i=0;
for (line : lines) {
    if (line.startsWith("17")) {
       li = i;
    }
    i++
}

然后,您将获得li最后一个索引的值,其中一行以17. 如果li是,则未找到-1以 开头的值。17

于 2012-10-20T11:41:49.623 回答