こんにちは私はjavaを初めて使い、arraylistを理解しようとしています。私はArraylist theListとdummyValuesを使用しています。私はのリストから値を読み取り、floatの値をdummyValuesに更新しました。 `arraylistのfloat値を確認して追加します
public static void generateValues(ArrayList<Float> theList) {
for (int j = 0; j < theList.size(); j++) {
if (dummyValues.size()==0)
dummyValues.add(j, theList.get(j));
else
dummyValues.set(j, theList.get(j));
}
}
を次のように私のコードスニペットはある
私はサイズdummyValuesが0より大きい場合だけの値を更新する最初の条件にArrayListにをdummyValuesを値を追加し、第二の条件にしようdummyValues。私はこの方法を重複コピーを避けるために考えました。
しかし、私はそれを実行したときに、私は次のエラーを取得:
java.lang.IndexOutOfBoundsException:無効なインデックス1は、大きさが1
エラーですが、ここでdummyValues.set(j, theList.get(j));
発生します私はこれが些細な概念であることを知っています、どんな種類の助けもあります。
'dummValues'と' theList'は同じサイズですか?それ以外の場合は、値を無視するか、例外が発生する可能性があります。この特定の場合、 'theList'は' dummyList'よりも大きいようです。 – SomeJavaGuy
'dummyValues'には1つの要素しかありませんが、インデックス1などにsetを呼び出します。インデックス0にしか設定できない要素が1つあるため –
@FastSnailこの情報に感謝します。ここでは、要素を持つインデックスのみを設定できることを理解しています。要素の重複を避ける方法はありますか? – ADI