1

これは単なる好奇心からの質問です。たとえば、実行時にいくつかのオブジェクトが動的に作成されるアプリケーションがあるとします。また、ほとんどの場合、オブジェクトの数が特定のしきい値 (20 など) を超えることはありません。最後の前提条件として、パフォーマンスを最適化することが非常に重要であると述べています。

よりパフォーマンスの高い代替手段は何ですか?

  1. 最初に配列を作成します[20]。オブジェクトを追加するときは、配列がすでに完全に占有されているかどうかを確認し、占有されている場合は newArray[array.length * f] を使用して新しい配列を作成します。ここで、f は 1.0f より大きい浮動小数点数です。次に、古い配列を新しい配列に置き換えて、アイテムを追加します

  2. 最初からArrayListを使用するだけです

  3. ???

これは完全にパフォーマンスの最適化に関するものであることを忘れないでください。

編集 Javaでの正確な実装がわからないので、1.)と2.)が非常に似ているというのは本当かもしれません。しかし、これを読んだ後: https://stackoverflow.com/a/10747397/1075211、C#または他の言語で違いが生じる可能性があると思いますか?

4

1 に答える 1

1

最初のオプションは、new ArrayList(20) のような ArrayList を作成することとほぼ同等です。

于 2013-04-29T17:42:34.573 に答える