web-dev-qa-db-ja.com

最も効率的なJavaプリミティブコレクションライブラリ

最高のJavaプリミティブコレクションライブラリは何ですか?(最もメモリと時間効率が良い)

Troveと FastUtil が最もよく使われているものであることがわかりましたが、それらの間(または他の人の間)の比較はあまり見つかりませんでした

比較できるものはありますか?

37
Sarmun

この比較 Java標準コレクション、TroveとColtが役立つ場合があります。

15
Guy Sensei

私は最近、別のプリミティブコレクションであるバナナをオープンソース化しましたJavaライブラリ。他のライブラリとの違いは、バナナが独自のメモリ管理を備えていることです。これにより、基本的に、作成せずに動的データ構造を実装できます。多くのオブジェクト。バナナは他の多くのライブラリよりもはるかに小さく、jarは現在約60kです。

LinkedListはすでにサポートされていますが、他のプリミティブコレクションライブラリでは提供されていないと思います。まもなくセットとツリーを追加する予定です。

https://github.com/omry/banana

5
Omry Yadan

私は、プリミティブのみのフレームワークの優れたベンチマークを知りません。これは、非プリミティブバージョンと比較するだけでなく、見た目も良いでしょう(いくつかのハードコアケースでは、オートボクシングを使用したジェネリックスがいかに叙事詩的にJavaジェネリックスを吸うかを示すためだけに)。

ベンチマークがあります Trove自体から 、最も簡単な方法は、他のいくつかのライブラリに移植することだと思います。

また、- Cern's Colt ライブラリには、TRoveがAFAICRを出現させる前から、プリミティブリストとマトリックスがありました。

5
Anton K