Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
免責事項: この質問は議論の余地があることを意図していませんでした!
キーと値のペアを検索するための最速でメモリ消費の少ない方法は何ですか?アイテムをリレーションのようなKey-Valueで保存するので、すぐにアクセスする必要があります。SQLiteデータベースを使用する必要がありますか?地図?ハッシュテーブル?HashMap?どのような検索方法を使用する場合でも、いくつかの長所と短所を教えてください。
キーのハッシュ関数Mapが効率的である限り、ハッシュベースの構造が最適です。ルックアップの結果として値id:sを使用して、検索中のメモリを節約できます。
Map
ただし、データがすでにデータベースにある場合は、この検索をすべてRDBMSに任せることができます。これらはすべて、このようなもののために作成されたものです。
データがメモリ内にある場合、Map一般的に s はあなたの友達です。彼らはこのためのものです。
ただし、a は使用しないでくださいHashtable。新しい Map 実装よりもはるかに遅いです。そのメソッドは同期されているため、ほとんどの場合必要ありません (必要な場合は、はるかに優れた代替手段があります - 以下を参照してください)。
Hashtable
シングルスレッドのコンテキストでHashMapは、おそらく問題ありません。
HashMap
スレッド セーフが必要な場合は、ConcurrentHashMap.
ConcurrentHashMap