0

プログラミング時にどちらを使用するのが良いかという私のかなり初歩的な質問に誰かが答えることができるかどうか疑問に思っていました.

私は次のいずれかを使用できる2次元配列を作成することを知っています:

ArrayList<ArrayList<String>> myArray = new ArrayList<ArrayList<String>>();

また

String[][] myArray2;
4

2 に答える 2

8

示した方法でArrayListを使用することはまったく問題ありません。ただし、実行時に配列を拡大および縮小する必要がある場合にのみ、配列リストを使用してください。配列を拡大または縮小する必要があるかどうかわからない場合は、先に進み、ArrayListを使用して開始します。配列を動的にする必要がない場合は、String[][]を使用する必要があります。ただし、String [] []は、割り当てられた後はサイズを拡大または縮小できません。

アプリケーションのパフォーマンスが高い場合は、String[][]が使用されるようにアプリを作成することを強くお勧めします。さらに重要なことは、多くの文字列操作を避けるようにしてください。これにより、多くの割り当て(したがってガベージコレクション)が発生するためです。代わりにCharBuffer[][]を使用できる場合は、オブジェクトの割り当てを回避できます。繰り返しになりますが、単純なアプリを作成していて、アプリが割り当てることはそれほど重要ではない場合(したがって、最終的にガベージコレクションが発生する場合)、ArrayListを使用すると処理が簡単になります。

あなたは自分自身を初心者だと思っているので、扱いが少し簡単なので、先に進んでArrayListから始めたいと思うかもしれません。

また、これはAndroidの質問ではなく、Javaの質問です。

于 2012-08-06T13:15:15.873 に答える
0

リストはサイズが大きくなる可能性があるため、2次元データの構造がどれほど大きいかわからない場合は、リストが最適なソリューションです。構造の大きさがわかっている場合は、代わりに通常の配列を使用してください。そうすれば、Listオブジェクトが引き起こすわずかなオーバーヘッドは問題になりません。

于 2012-08-06T13:16:23.720 に答える