さて、問題の質問を説明するには...
数
百万のエントリで満たされた 1 つの Big DB テーブル (各エントリには「n」個の列がある場合があります)。
コンセプト:
Web インターフェイスに 2 つのリスト (例: "利用可能" と "選択済み") を表示したいと考えています。ユーザーがエントリをあるリストから別のリストに移動するとき、エントリの一意の ID (文字列の種類) をサーバーの「選択済み」という名前の「不明なデータ構造」に一時的に保存する必要があり、ユーザーが最後に送信をクリックしたときこのリストをさらに別のアプリケーションに渡します。
並べ替えとフィルタリングが DB に行われ、データの全量 (チャンク単位) が Java にロードされます。次に、すべてのエントリが選択されているかどうかがチェックされ、次に表示されるリストに追加されます。ウェブインターフェース。
for each entry{
if(selected.contains(currentEntry.ID)){
selectedList.add(currentEntry)
}else{
availableList.add(currentEntry)
}
}
リスト selectedList と availableList は数百のエントリ (ユーザーに表示されるもの、最大 100 ~ 200 のエントリを持つページ) しか保持しないため、タイプ「エントリ」のリストで十分であり、私の並べ替えを保持します。
問題:
「選択された」構造は、何千もの ID を保持する必要があります (数百万に達する場合もあります)。
必要性:
ID が存在するかどうか (structure.contains(id)) を見つけるために高速アクセスが必要なので、確実にハッシュ構造を使用します。最小限のメモリ リソースを使用する構造が必要です。
不要:
削除時の優れたパフォーマンスは必要ありません。並べ替えは不要です。