0

私は読み書きのパフォーマンスについて過度に悩まされているわけではありません (もちろん、可能な限り高速であることは常に良いことです)。むしろ、できるだけメモリ効率の良いソートされたコレクションの実装を探しています。助言がありますか?

4

5 に答える 5

3

それでは、必要なサイズの配列に格納して、並べ替えてください。1 回の作業は O(n log n) で、その後の各検索は O(log n) です。Arrays.asList() を使用して、並べ替えられた配列をリストに簡単に変換できます。

于 2009-12-30T23:48:16.740 に答える
2

ソートされた最小の Collection はArrayList; 基になる配列よりもそれほど大きくありません。呼び出すと内容がソートさsort()れます。

于 2009-12-30T23:56:34.887 に答える
1

それらをFibonacci Heapとして保存しないのはなぜですか? それらは高速で、小さく、効果的です。それが複雑すぎる場合は、他のいくつかのタイプのヒープ実装を見ることができます。多くのヒープを配列として格納できます。これは、コレクション内のオブジェクトと同じだけのストレージ スペースが必要であることを意味します。

于 2009-12-30T23:53:08.603 に答える
0

google-collections のImmutableSortedSetは、あなたの要件 (「ソートされたコレクションの実装」) を満たすために私が知っている最小のものですが、変更することはできません。

于 2010-01-04T21:17:27.510 に答える
0

ATreeSetはまともなメモリ節約を備えており、時間のパフォーマンスはO(log n)の挿入/検索を提供します。

于 2009-12-30T23:58:20.230 に答える