質問: ddd) { aaa.add(i, ddd); break; } } } ``` 上記のコードはリストbbbに入っている数字(1,2,6)を1、2、〇、〇、〇、6というようにリストに格納するための実装です。 ただ、aaaはnewしているだけなので、IndexOutOfBoundsExceptionが発生してしまいます。 このエラーを解決するか、他にいい方法はありますか。 よろしくお願いいたします。
回答: 〇←これってnullでもいいんですよね? であれば、aaaリストがddd値よりも大きいsizeであればいいので、 ``` if (i == ddd) { while(ddd > aaa.size()){ aaa.add(null); } aaa.add(i, ddd); break; } ``` で`IndexOutOfBoundsException`は解決すると思います。 ※動作確認してません。 ただし、美しくないので、個人的にはaaaをリストじゃなくて配列使いたいですね。 【1】bbbにaddされた数値の最大値を保持しておく 【2】1の数分の配列をnewしてaaaに格納 【3】指定値の要素に1や2や6を格納 という方法もあります。