問題タブ [multikey]

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 に答える
810 参照

java - MultiKeyMap のすべての値を変更する (Apache Commons)

より大きなプログラムの一部として、Apache Commons のすべての値をMultiKeyMap120で乗算しようとしていますIterator

配列に関して、私がやりたいことは次のとおりです。

このようなものを a で実装する方法がわかりませんMultiKeyMap。私は解決策を探し、法線を反復する方法を見つけましたHashMap( HashMap で一度にすべての値を更新します):

ただし、これは<K, V>、私が持っている単純なマップでのみ機能します<K, K, K, V>。どうすればこれを行うことができMultiKeyMapますか?

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

java - 複数のキーを使用して MultiKeyMap をパラメーター化する

Apache CommonsMultiKeyMapを複数のキーでパラメータ化する方法はありますか? すなわち

私はもともと raw を持っていましMultiKeyMapsたが、プログラムでこれらのマップが頻繁に使用されるため、それらをパラメーター化して一貫性を確保したいと考えています。

MultiKeysMultiKeyMap に保存しているデータには が必要なため、使用したくありませんMultiKey<String, String, Integer>。ただし、MultiKey1 つのタイプ (MultiKey<String> または MultiKey<Integer>) のキーのみをサポートします。これに対する回避策がある場合、私は提案を受け付けています。

明確にするために、私が解決したい全体的な問題は次のとおりです。MultiKeyMapsプログラム内の にパラメーター化することで同じタイプのキーがあることを確認したいのですが、キー内のクラスが異なります ( <K, K, K, V> = <String, String, Integer, Float>)。

編集:(現在削除された回答で)提案されました を使用しTriple<String, String, Integer>、試しました:

ただし、このステートメントの 3 行目では、put(Triple<String, String, Integer> key1, Triple<String, String, Integer> key2, Float value). 私の質問はこれです:この答えで、今は必要ありませんMultiKeyMapか?今使うべきMap<Triple<String, String, Integer>, Float>ですか?

また、このマップを頻繁に (大量のデータを使用して) 反復する必要があることも注目に値します。これは、必要に応じてメソッドMultiKeyMapのパラメーターを変更するだけでよいため、パラメーター化されていない場合は簡単でした。get()を使用するTripleと、反復ごとに新しいTripleインスタンスを作成する必要があると思います。これはリソースを大量に消費しますか、それともこれを回避する方法はありますか?

0 投票する
3 に答える
8951 参照

java - MultiKeyMap を反復処理するには?

マルチキーと値のペアを提供する commons-collections の MultiKeyMap を使用しています。私は文字列である3つのキーを持っています。解決方法がわからない問題が 2 つあります。

すべてのマルチキーと値のペアを反復処理するにはどうすればよいですか? 単純な HashMap で、私はそれを知っています。

次に、最初の 2 つのキーが固定されているすべてのマルチキーと値のペアを取得するにはどうすればよいですか? つまりmultiKey.get("key1","key2",?);、3番目のキーが指定されていないこのようなものを取得したいということです。

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

c# - c# マルチキー ディクショナリ、タプルを独自の変更可能なクラスに置き換えると「KeyNotFoundException」

ディクショナリのキーとしてタプルの代わりとして機能する可変クラスを宣言しました。その理由はシリーズ化です。シリアル化は問題なく機能します。次の問題が発生します。このクラスを使用すると「KeyNotFoundException」が発生しますが、このクラスの新しいインスタンスがルックアップに使用された場合のみです。これをより明確にするために、次のクラス定義を参照してください。

そして、サンプルプログラムは次のとおりです。

通常のタプルを使用した例は問題なく動作しますが、独自のクラス STuple を使用すると、追加に使用したものとまったく同じキー (同じインスタンス) を使用した場合にのみ機能します。私はまったくの初心者ですが、値型と参照型の取り違えが原因で問題が発生する可能性はありますか?

私の意見では本当に奇妙ですが、 foreach を使用したルックアップは引き続き機能します。

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

c++ - boost::multi_index の使用/作成方法は?

を使用してマルチインデックスマップを作成する方法を詳しく説明してもらえますboost::multi_indexか? オンラインやブーストページで多くの例を見ましたが、理解できませんでした。複数の int/long をキーとしてクラス オブジェクト ポインターをマップしたいと考えています。誰かがこれを理解するのを手伝ってくれますか?

クラスと、クラスの複数Xのプロパティがあります。プロパティ、、をマップ先のキーとして保存したい-> <pointer to X>.long longlongintintlong longlongintint

任意のプロパティが指定されたポインターを検索できるようにしたい。の各オブジェクトに固有のプロパティもあれば、一意でないプロパティもありますX