[解決済み】Google Guava vs Apache Commons【終了しました
質問
を探していたところ 双方向地図 をJavaで実装したところ、この2つのライブラリに行き当たりました。
- グーグル グアバ (旧:Google Collections")
- アパッチ・コモンズ・コレクション
どちらもフリーで、私が探していた双方向マップの実装を持ち(ApacheではBidiMap、GoogleではBiMap)、驚くほどほぼ同じサイズ(Apache 493kB、Google 499kB)[編:もはや真実ではない!]、あらゆる点で私にはかなり似ていると思われる。
どれを選べばいいのか、その理由は?他に同等の代替品(無料で、少なくとも双方向マップが必要)はありますか?私は最新のJava SEで作業しているので、人為的にJava 5に制限したりする必要はありません。
どのように解決するのですか?
私の意見では、より良い選択は グアバ (旧名称:Googleコレクション)。
- よりモダンになった(ジェネリックがある)
- Collections API の要件に完全に準拠している
- 活発にメンテナンスされている
-
CacheBuilder
と、その前身であるMapMaker
は、とにかくすごい
Apache Commons Collectionsも良いライブラリですが、長い間ジェネリック対応版を提供できていません(これは メジャー コレクションAPIの欠点だと思う)、そして一般的にはメンテナンス/あまり手をつけないモードにあるようだ。 <サブ 最近、Commons Collectionsは再び勢いを取り戻していますが、まだまだ追いつくことが必要です。 .
もし、ダウンロードサイズ、メモリフットプリント、コードサイズが問題であれば、Apache Commons Collectionsは、他のライブラリと共通の依存関係を持つので、より良い候補になるかもしれません。というのも、このライブラリは他のライブラリと共通の依存関係にあるため、自分のコードで使用する場合、追加の依存関係を追加することなく使用できる可能性があります。編集:この特定の利点は、現在では部分的に覆されています。 ではなく Apache Commons Collectionsのことです。
関連
-
[解決済み] Cloneable throws CloneNotSupportedException
-
[解決済み] Oracle DB : java.sql.SQLException: 閉じた接続
-
[解決済み] Eclipse- Dynamic Web Module 3.0 で新しいプロジェクトを作成するときに Java 1.6 以降が必要なエラーが発生する。
-
[解決済み] Java Swingで複数のボタンに対して複数のActionListenersを追加する方法
-
[解決済み] Java の条件付きコンパイル:コードチャンクをコンパイルしないようにするには?
-
[解決済み] raw 型のメンバへのアンチェックの呼び出し
-
[解決済み] スリーピング中のスレッドが割り込まれ、データベースへの接続が失われる
-
[解決済み] javaでメソッドを呼び出すプログラムのエラー修正
-
[解決済み】Apache Camelとは一体何ですか?
-
[解決済み] ヌルセーフなcompareTo()の実装を簡略化する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] tempとは何ですか、またjavaにおけるtempの用途は何ですか?
-
[解決済み] java.sql.SQLException: ORA-00933: SQL コマンドが正しく終了していません。
-
[解決済み] XX:MaxDirectMemorySizeの既定値
-
[解決済み] プロトコルハンドラの初期化に失敗しました。
-
[解決済み] javax.mail.MessagingException: SMTPホストに接続できませんでしたか?
-
[解決済み] init-paramとcontext-param
-
[解決済み] Javaコンパイラーエラー:ステートメントではありません
-
[解決済み] Javaでdoubleをfloatに変換する
-
[解決済み] .lengthが解決できない、またはフィールドでない
-
[解決済み] ヌルセーフなcompareTo()の実装を簡略化する方法は?