問題タブ [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.
java - Google コレクションで弱いマルチマップを作成する
MultiMaps 用の優れた MapMaker に相当するものはありますか? 現在、私は次のようにキャッシュを作成します:
MultiMap の要点は、ネストされたリスト値を避けることです。弱いキーでマルチマップを構築する方法はありますか?
java - Java でのリストのコンス
a があり、の先頭に要素を追加しjava.util.List list
て new を作成したいとします(つまり、cons andが必要です)。たとえば、List
e
list
e
list
list
でe
あり5
、次にcons(e,list)
なる
と の要素をlist
共有cons(e,list)
することlist
は問題ありませんが、変更しないでください。
を実装するための最も簡単かつ/または最も効率的な方法はcons
何ですか? 結果が変更できなくても問題ありません。Google Collections Library の使用は許可されています。
の場合list
はcom.google.common.collect.ImmutableList
?
java - java.util.Map の汎用テスト ハーネス?
関数の遅延評価など、いくつかの凝った処理を行う Map インターフェースのカスタム実装があります。実装は、外部からの構築後に不変に見える必要があります (たとえば、put() および putAll() メソッドはサポートされていません)。
最も基本的な条件で動作するようです。それは非常に複雑なので、スレッドの安全性、操作の不規則な順序など、数多くのバグが潜んでいるに違いないと確信しています..
Map インターフェイスのコントラクトは明確に定義されているため、コーナー ケースやスレッド セーフなどをチェックする一般的なテスト コレクションが存在する必要があると確信しています。
Google Collections では、ライブラリに対して約 25000 の単体テストを実行していると聞いています。それらをどこかにダウンロードすることは可能ですか?
java - 重複キーを使用したマップの実装
重複したキーを持つマップが必要です。
多くのマップ実装があることを知っているので (Eclipse は約 50 を示しています)、これを可能にするものがあるに違いありません。これを行う独自のマップを作成するのは簡単ですが、既存のソリューションを使用したいと思います。
commons-collections または google-collections の何かでしょうか。
java - Google コレクションに SortedMultiset がないのはなぜですか?
Google CollectionsにはMultiset
インターフェイスとクラスが含まれていますが、対応するインターフェイスTreeMultiset
がないことに驚きました。SortedMultiset
そのようなものは、離散確率分布をモデル化するのに非常に役立ちます。
自分で実装しようとする前に、除外する特定の理由があるかどうかを知りたいです。たとえば、違反Multiset
やCollection
不変条件、または固有のパフォーマンスの問題などがあります。
編集:最初は気づきませんでしたが、これは実際には3つの別々のリクエストです:
- 1 つのメソッドの戻り値の型の変更 (
TreeMultiset.entrySet
) - の既存の機能と一致する新しいインターフェイス
TreeMultiset
- ツリーの枝のカウントを合計する新しいメソッドのペア
java - ArrayListMultimapキーを取得します
にマップするためにGuavaの ArrayListMultimap<K,V>
コレクションを使用しています。このクラスは、Multimapにキーに指定された値が含まれているかどうかをチェックするというメソッドを提供します。それが本当だと判断したら、そのキーを取得するための最良の方法は何ですか?Integers
Strings
containsValue(Object value)
java - Java:GoogleコレクションのHashBiMapをインスタンス化します
私はEclipseを使用してgoogle-collect.1.0-rc2.jar
おり、参照ライブラリとして追加しました。しかし、どういうわけか、これはまだ機能しません:
Eclipseでは次のエラーが発生します。
この行に複数のマーカー
- HashBiMapを解決できません
- Character.Integerを解決できません
- トークン"、"、"。"の構文エラー 期待される
- トークン「。」の構文エラー、このトークンを削除します
- メソッドcreate()は、クラスOdpに対して未定義です。
私は何が間違っているのですか?
ジョイナーのような他のグーグルのものはうまく機能します。(ただし、Joinerはジェネリックではありません。)
java - GuavaMultiMapとConcurrentModificationException
これを繰り返すと、なぜConcurrentModificationExceptionが発生するのかわかりませんmultimap
。次のエントリを読みましたが、すべてを理解したかどうかはわかりません。同期ブロックを追加しようとしました。しかし、私の疑問は、何といつ同期するかです。
はmultimap
フィールドであり、次のように作成されます。
そしてこのように使用されます:
そしてこのように(私は地図上でこの部分を同期しようとしましたが、成功しませんでした)