2

コードのセクションをカスタムオブジェクトのArrayListの使用から通常の配列に変換しようとしています。

以前の私の定義は

ArrayList<Room> rooms = new ArrayList<Room>();

私は今これに変更しました

Room[] rooms;

以前は、以下の行を使用して配列リストに項目を追加しました

rooms.add(new Room(1,1,30,false,true,true,false));

しかし、コード全体で配列に個々のアイテムを追加する方法を見つけるのに苦労しています。

4

4 に答える 4

2

ここではarrayListに固執するのが最善だと思いますが、もう少し詳しく説明します。

あなたがしようとしていることを行うには、配列内の現在の位置を指すだけのインデックス整数を保持する必要があります。追加すると、これをインクリメントして新しいオブジェクトを次の位置に追加できます。配列の最大サイズに達したら、それを拡張する必要があります。すでに尋ねられている配列の拡張に関する質問があり、ここで答えを見つけることができます: 配列の拡張?

于 2012-11-22T21:49:58.520 に答える
1

固定サイズの配列を使用できる場合は、少なくともわずかな成功の可能性があります。そうでなければ勝てませんし、ArrayListミッションが再実装せずに成功することである場合、それは不可能なミッションです。

コードをそのように書き直す正確な根拠について、より多くの洞察を提供する必要があります。

于 2012-11-22T21:37:01.347 に答える
1

私はお勧めできます:
要素を挿入するために必要な長さのArraylistを使用してください。配列が最終的になったら、配列に変換します。

于 2012-11-22T21:48:29.543 に答える
0

別の要素を追加するときに配列のサイズを増やす必要がある場合は、古い配列のサイズ +1 で別の配列を作成する必要があります。その後、古い配列の内容を新しい配列 (より大きな配列) にコピーします。

于 2012-11-22T21:32:27.750 に答える