2012-02-20 3 views

答えて

0

それは新しい配列を作成し、古い配列をコピーします。コピーを避けたい場合は、代わりにLinkedListを使用することができます。チェーンに新しいリンクを追加するだけです。もちろん、要素の単一の配列で提供される高速の索引付けは行われません。

+0

リンクリストはリンクされたノードを使用していると思いましたか? –

+0

これは、私が言ったことです。 'LinkedList'は、リンクされたノードの連鎖を使いますが、' ArrayList'は配列を使います。 –

1

あなたが興味のある言語を指定すると、より良い答えを得ることができます(よりターゲットが絞られ、より有益です)。多くの一般的な実装では、値のブロック(ポインタポインタの);ブロック内のスペースがなくなると、より大きなブロックが割り当てられ、既存の値が新しいスペースにコピーされ、古いスペースが解放されます。場合によっては、これがどのように起こるかに影響を与えることがあります(たとえば、古いものと比べて新しい空間がどれだけ大きいかなど)が、実装に依存します(もちろん)。ほとんどの実装は、スペースの再割り当てが発生しないという項目を追加または削除するたびに確実に実行されます。これは、そのような実装に未使用スペースがあることを意味します。

もう少し具体的な興味がある場合は、投稿を編集して少し焦点を合わせてみることをおすすめします。

あなたが学びたいと思えば、私はPythonで遊ぶことを提案したいと思います。興味深いStackOverflowにたくさんのものがあります。ここにちょうどカップルがある:array sizeperformance

関連する問題