java - 使用ArrayList<String> 和 使用HashMap<String, String> 存储键值对,哪个速度更快一些
ringa_lee
ringa_lee 2017-04-18 10:41:08
0
6
719
ringa_lee
ringa_lee

ringa_lee

全員に返信(6)
小葫芦

キーを偶数に格納し、値を奇数に格納する ArrayList メソッドを使用することは推奨されません。これは、コードの書き方の一般的なロジックに反し、将来のメンテナーに多大な迷惑をもたらすことになります。さらに、最近の携帯電話のパフォーマンスは非常に優れており、使用シナリオにおいてパフォーマンスの問題を考慮する必要はありません。

いいねを押す +0
大家讲道理

あなたが言及したデータの量が 10 未満の場合、ArrayList と HashMap の間の誤差は非常に小さいため、どちらを使用してもパフォーマンスには影響しません。技術レベルについては、少しだけお話しておきます^.^

ArrayList は順序付けされたコレクションであり、その最下層は実際には配列です。これを走査して保存すると、HashMap よりも高速ですが、その追加と削除は遅くなり、特にリストの途中からの追加と削除は遅くなります。遠い)

HashMap は順序なしのハッシュ テーブルであり、そのクエリの順序はデータの量に直接関係します。簡単に言うと、データの量が増えるほどクエリは遅くなります。

概要:
小規模データ: どちらも使用できます。
ビッグデータ: ArrayList はクエリに頻繁に使用され、HashMap は頻繁な追加、削除、変更に使用されます。
非常に大きなデータ: ArrayList を使用します;

いいねを押す +0
PHPzhong

これはデータ量に関係します

いいねを押す +0
巴扎黑

使い方にもよりますが、Listを保存してトラバースするだけなら、キーで値を確認したい場合はMapの方が速いです

いいねを押す +0
PHPzhong

List<String> と Map<String> のストレージを比較する理由はわかりませんが、これら 2 つのインターフェイスには ArrayList と LinkedList などの異なる実装クラスがあります。 HashMap、TreeMap、LinkedHashMap、WeakHashMap、および IdentityHashMap は、実装クラスの動作、効率、オブジェクトの保存サイクル、および主要な等価性戦略が大きく異なります。答えなかったことにしてください/(ㄒoㄒ)/~~

いいねを押す +0
小葫芦

パフォーマンスは上の階で非常にわかりやすく説明されています
保存されたデータが 10 未満の場合は、宣言時に最大値 10 を直接指定でき、メモリ領域を節約できます。 リーリー

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート