問題タブ [guava]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2137 参照

java - Google コレクションで弱いマルチマップを作成する

MultiMaps 用の優れた MapMaker に相当するものはありますか? 現在、私は次のようにキャッシュを作成します:

MultiMap の要点は、ネストされたリスト値を避けることです。弱いキーでマルチマップを構築する方法はありますか?

0 投票する
10 に答える
5618 参照

java - Java でのリストのコンス

a があり、の先頭に要素を追加しjava.util.List listて new を作成したいとします(つまり、cons andが必要です)。たとえば、Listelist elistlist

eあり5、次にcons(e,list)なる

と の要素をlist共有cons(e,list)することlistは問題ありませんが、変更しないでください。

を実装するための最も簡単かつ/または最も効率的な方法はcons何ですか? 結果が変更できなくても問題ありません。Google Collections Library の使用は許可されています。

の場合listcom.google.common.collect.ImmutableList?

0 投票する
2 に答える
2200 参照

java - java.util.Map の汎用テスト ハーネス?

関数の遅延評価など、いくつかの凝った処理を行う Map インターフェースのカスタム実装があります。実装は、外部からの構築後に不変に見える必要があります (たとえば、put() および putAll() メソッドはサポートされていません)。

最も基本的な条件で動作するようです。それは非常に複雑なので、スレッドの安全性、操作の不規則な順序など、数多くのバグが潜んでいるに違いないと確信しています..

Map インターフェイスのコントラクトは明確に定義されているため、コーナー ケースやスレッド セーフなどをチェックする一般的なテスト コレクションが存在する必要があると確信しています。

Google Collections では、ライブラリに対して約 25000 の単体テストを実行していると聞いています。それらをどこかにダウンロードすることは可能ですか?

0 投票する
19 に答える
274104 参照

java - 重複キーを使用したマップの実装

重複したキーを持つマップが必要です。

多くのマップ実装があることを知っているので (Eclipse は約 50 を示しています)、これを可能にするものがあるに違いありません。これを行う独自のマップを作成するのは簡単ですが、既存のソリューションを使用したいと思います。

commons-collections または google-collections の何かでしょうか。

0 投票する
2 に答える
924 参照

java - Google コレクションに SortedMultiset がないのはなぜですか?

Google CollectionsにはMultisetインターフェイスとクラスが含まれていますが、対応するインターフェイスTreeMultisetがないことに驚きました。SortedMultiset

そのようなものは、離散確率分布をモデル化するのに非常に役立ちます。

自分で実装しようとする前に、除外する特定の理由があるかどうかを知りたいです。たとえば、違反MultisetCollection不変条件、または固有のパフォーマンスの問題などがあります。


編集:最初は気づきませんでしたが、これは実際には3つの別々のリクエストです:

  1. 1 つのメソッドの戻り値の型の変更 ( TreeMultiset.entrySet)
  2. の既存の機能と一致する新しいインターフェイスTreeMultiset
  3. ツリーの枝のカウントを合計する新しいメソッドのペア
0 投票する
1 に答える
3034 参照

java - ArrayListMultimapキーを取得します

にマップするためにGuavaの ArrayListMultimap<K,V>コレクションを使用しています。このクラスは、Multimapにキーに指定された値が含まれているかどうかをチェックするというメソッドを提供します。それが本当だと判断したら、そのキーを取得するための最良の方法は何ですか?IntegersStringscontainsValue(Object value)

0 投票する
1 に答える
3069 参照

java - Java:GoogleコレクションのHashBiMapをインスタンス化します

私はEclipseを使用してgoogle-collect.1.0-rc2.jarおり、参照ライブラリとして追加しました。しかし、どういうわけか、これはまだ機能しません:

Eclipseでは次のエラーが発生します。

この行に複数のマーカー

  • HashBiMapを解決できません
  • Character.Integerを解決できません
  • トークン"、"、"。"の構文エラー 期待される
  • トークン「。」の構文エラー、このトークンを削除します
  • メソッドcreate()は、クラスOdpに対して未定義です。

私は何が間違っているのですか?

ジョイナーのような他のグーグルのものはうまく機能します。(ただし、Joinerはジェネリックではありません。)

0 投票する
5 に答える
7735 参照

java - GuavaMultiMapとConcurrentModificationException

これを繰り返すと、なぜConcurrentModificationExceptionが発生するのかわかりませんmultimap。次のエントリを読みましたが、すべてを理解したかどうかはわかりません。同期ブロックを追加しようとしました。しかし、私の疑問は、何といつ同期するかです。

multimapフィールドであり、次のように作成されます。

そしてこのように使用されます:

そしてこのように(私は地図上でこの部分を同期しようとしましたが、成功しませんでした)