私が自由になれなかった状況のために、いくつかのサンプルコードであなたの助けが必要です。オブジェクトの簡単なリストがあります。私のクラスは次のようなものです。
class MyClass {
String str;
Integer intgr;
}
また、リストには次のような要素が含まれています。
[{a1 5}, {b2 3}, {g1 1}, {b5 1}, {c9 11}, {g2 3}, {d1 4}, {b3 19}... ... ...]
文字列に同じプレフィックスが含まれているかどうかを確認する必要があります(ここでは、サフィックスは最後の1文字です)。次に、整数の値が大きい要素を保持します。上記の例のリストから期待される出力は次のようになります。
[{a1 5}, {c9 11}, {g2 3}, {d1 4}, {b3 19}... ... ...]
文字列には一意の値がありますが、プレフィックスに一致する可能性があります。私はJavaが苦手です。だから誰かがこれから私を助けることができますか?これが私が試しているが取得しているコードですIndexOutOfBoundsException
。このコードには誤りがあるので、あなたの助けが必要です。
ありがとう!
int size = list.size();
for (int j = 0; j < size; j++) {
if (list.get(j).str.substring(0, list.get(j).str.length()-1).compareTo(list.get(j+1).str.substring(0, list.get(j+1).str.length()-1)) == 0) {
if (list.get(j).intgr > list.get(j+1).intgr)
list.remove(list.get(j+1));
size--;
else {
list.remove(list.get(j));
j--;
size--;
}
}
}