私は、IDと日付からなるオブジェクトの集合を持っています。これらのオブジェクトを効率的にIDで検索し、ある時点以前に発生したすべてのイベントを削除する方法でこれらのオブジェクトを保存します。しばらく前にイベントを排除するための効率的なデータ構造ですか?
HashMapとTreeMapを使用することを考えていました.HashMapにはIDが格納され、TreeMapには日付でソートされた要素が格納されています。これはIDによるO(1)ルックアップを提供し、すべての古いイベントを効率的に削除できるようにします。私はまたIDのハッシュテーブルなしで日付のソートされたTreeMapを使ってみました。
これらの操作を効率的にサポートする情報を格納するためのさらに効率的なデータ構造がありますか?あなたがサポートしたい操作が挿入、
をいくつかの時間前に発生したすべてのものを
- を削除していることを考えると
どのような比較をしていますか?範囲検索(日付範囲またはID範囲のすべてを検索)を実行しますか? – templatetypedef
ID検索は基本的にルックアップです。日付検索は今までに何かを削除することです – user1180969