1

たとえば、インデックス範囲が 0 から 9 のサイズ 10 の配列があるとします。多数の要素を追加し、インデックス 6 で追加を停止します。したがって、array.length を使用すると、配列のサイズが 10 であることがわかります。しかし、最後の値を含み、その後が空であるインデックスを見つけるにはどうすればよいですか? ループを実行して index == null で停止すると思いますか?

サイズがいっぱいになると大きくなる動的配列を作成することで、配列リストを模倣します。

Arg、言い忘れましたが、配列が int の場合、空のスロットは 0 になりますか?

4

2 に答える 2

2

を使用しjava.util.ArrayListます。インデックスについて考える必要はなく、サイズ変更可能な配列の実装です。

配列の作成時には、デフォルトですべての値が null であるため、任意のインデックス (配列の末尾、先頭、または中間にある可能性があります) に値を挿入しないと、null になります。したがって、null チェックを入れて検証する必要があります。

于 2012-10-14T09:38:55.820 に答える
2

これは割り当てであるため、トリックは、追加された要素の数に従う変数を追加することです。

したがってpublic int size = 0、要素を追加または削除するたびに、変数と変更操作を追加および削除して、この変数を増減することができます。

次に、メソッドを追加すると、配列を拡張する必要があるかどうかを簡単に確認できます

if (size == array.length)
   expandArray
于 2012-10-14T09:54:58.203 に答える