0

メモリをあまり消費しない ArrayList があります。これには 2 つのフィールドしか格納されません。

 public class ExampleObject{

 private String string;
 private Integer integer;

 public ExampleObject(String stringInbound, Integer integerInbound){
 string = stringInbound;
 integer = integerInbound;
 }

このオブジェクトで ArrayList を埋めます

  ArrayList<ExampleObject> = new ArrayList<ExampleObject>();

生のハードコアパフォーマンスのために、これにハッシュセットを使用する方がはるかに優れていますか? ArrayList が数百のインデックスを持つさまざまな多数のアイテムに成長した場合、オブジェクトの ArrayList とハッシュセットの間に大きな違いがあることに気付くでしょうか?

4

2 に答える 2

3

どちらもCollectionですが、 SetListの違いを読むことをお勧めします。

それらは同じ目的には使用されません。したがって、パフォーマンスについて考える前に、実装要件を満たすものを選択してください。

于 2013-01-29T12:28:03.217 に答える
1

それはすべて、あなたが何をしているかにかかっています。データはどのように追加されますか? アクセス方法は?どのくらいの頻度で削除されますか?

たとえば、場合によっては、 and の並列配列を使用したほうがよい場合もありString[]ます。int[]コレクション クラスのオーバーヘッドと to のボックス化を回避できintますInteger。あなたが何をしているかに応じて、それは本当に素晴らしいことかもしれませんし、信じられないほどばかげているかもしれません.

データセットが大きくなると、メモリ消費がパフォーマンスに大きな影響を与える可能性があります。数年前に数人の IBM 研究者が、メモリ効率の高い Java アプリケーションの構築に関する優れたプレゼンテーションを行いました。これは、パフォーマンスに関心のあるすべての人が読むべきものです。

于 2013-01-29T19:19:13.897 に答える