是否可以使用带有lastIndexOf的java包含?
我从文件中获取一些信息,并且需要获取最后一次出现的信息。
文件看起来像这样
17,560.0
17,583.0
17,606.0
我正在使用这样的东西。
System.out.println(lines.indexOf("17"));
然而它不会工作,因为它正好寻找17,并且不会再采取任何行动。 有什么方法吗?
答案 0 :(得分:3)
假设你的行是List<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
索引从零开始。
答案 1 :(得分:1)
没有。您需要遍历集合才能获得lastIndexOf
。
类似的东西:
int li = -1, i=0;
for (line : lines) {
if (line.startsWith("17")) {
li = i;
}
i++
}
然后,您将获得最后一个索引的li
值,其中一行以17
开头。如果li
为-1
,则找不到以17
开头的值。