lastIndexOfでjavacontainsを使用することは可能ですか?
ファイルからいくつかの情報を取得しているので、最後に発生した情報を取得する必要があります。
ファイルは次のようになります
17,560.0
17,583.0
17,606.0
そして、私はこのようなものを使用しています。
System.out.println(lines.indexOf("17"));
ただし、正確に17を検索するため機能せず、それ以上はかかりません。これを回避する方法はありますか?
あなたの行がまたは類似したものであると仮定して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で開始および終了することに注意してください。0List
いいえ。そのような種類のを取得するには、コレクションをループする必要がありますlastIndexOf。
何かのようなもの:
int li = -1, i=0;
for (line : lines) {
if (line.startsWith("17")) {
li = i;
}
i++
}
次に、。liで始まる行で最後のインデックスの値を取得します17。の場合、で始まる値liが見つかりませんでした。-117