問題タブ [multimap]
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 - MultiMap を使用したプライオリティ キュー - Java
MultiMap を使用してプライオリティ キューを実装する必要があります。Google Collections の MultiMap を使用しています。次のコードは、MultiMap を作成し、そこにいくつかの要素を追加します。
今私の問題は pop メソッドを書く方法ですか?
for ループが必要であり、MultiMap を反復処理する必要があると思います。
最低のキーが最高の優先度であるべきなので、C++ では最初の要素へのポインターを設定し、それをインクリメントします。Javaでそれを行う方法は?
c++ - C ++マルチマップから特定のペアを削除するにはどうすればよいですか?
マップに追加したペアの1つを削除したいとします。
キーエントリ全体を削除する例があります。キー「b」の場合、「b」、15と「b」、20の両方が削除されます。
しかし、たとえば、ペア'b'、20だけを削除するコードは何ですか?
java - Google HashMultimap から要素にアクセスする際の問題
以下のコードを使用して、Google HashMultimap から値を取得して処理しています
上記のコードでは、マップ要素(またはエントリ)が要素タイプの場合、何らかの操作を実行したいと考えています。HashMultimap タイプの場合は、他の操作を行います。オブジェクトをチェックして別の関数に渡すにはどうすればよいですか。
java - AndroidのJavaでマルチマップを作成するにはどうすればよいですか
他のクラスなどを含めることなくAndroidで動作するJava用のマルチマップの実装はどこにありますか。私が見つけた実装はすべて、他のものを必要とする他のものを必要とし、すぐに面倒になります。私はC++からプロジェクトを移植していて、Javaを初めて使用します(そしてこのプロジェクトも同様に、動作させながら可能な限り同一に保つようにしています)ので、参照や例は素晴らしいでしょう。
c++ - マルチマップをセットのセットに変える
マルチマップがあり、セットのセットを取得したいと考えています。これにより、同じキーを共有するマルチマップ内のタイプ A のすべてのアイテムがグループ化されます。STLでこれを行う組み込みの方法はありますか?
c++ - ベクトルのマップに対するマルチマップの利点は何ですか?
ベクトルのマップまたはセットのマップを作成できる場合、マルチマップが存在する理由がわかりません。私にとって唯一の違いは次のとおりです。
equal_range
マルチマップでキーの要素を取得するために使用し、ベクトルのマップでは単純に[]
演算子を使用して要素のベクトルを取得します。multimap.insert(make_pair(key,value))
要素を追加するためにマルチマップで使用しmap_of_vectors[key].push_back(value)
、ベクトルのマップで使用します。
では、なぜマルチマップを使用するのでしょうか。私にとっては、キーのすべての値を取得するには、2 つの反復子よりもベクトルを使用する方が適切です。
この質問は、ベクトルの unordered_map と unordered_multimap にも当てはまります。
java - 異なる値を持つハッシュテーブルの同じキー....?
ハッシュテーブルが同じキーを異なる値にマップできることはJavaで可能ですか? ..ハッシュテーブルから両方の値を取得するにはどうすればよいですか...
java - Google コレクションに大文字と小文字を区別しないマルチマップはありますか
キーが大文字と小文字を区別しないマルチ マップが必要です。Googleコレクションにそのような実装はありますか?
c++ - Boostマルチインデックスとunordered_multimapへのルックアップを含むC++コードを高速化する必要があります
Host
Boostマルチインデックスコンテナに格納されているクラスのオブジェクトに基づくエージェントベースモデルを高速化するための戦略を探しています。私はSharkを使用して、時間の大部分が関数によって消費されていることを確認しましたcalcSI()
。
関数は、クラスの他のインスタンスの属性に依存する特定の確率をcalcSI()
クラスのすべてのインスタンスについて計算する必要があります。(のインスタンスは約10,000〜50,000あり、これらの計算はホストごとに約25,600回実行されます。)Host
Host
Host
プロファイルを正しく解釈している場合、費やされる時間の大部分はに費やされcalcSI()
ますHost::isInfectedZ(int)
。これは、次のタイプのBoostunordered_multimap内の何かのインスタンスをカウントするだけですInfectionMap
。
のすべてのメンバーはをHost
含みInfectionMap carriage
、特定のキーに関連付けられてHost::isInfectedZ(int)
いる数を単純にカウントします。Infections
int
count
Boostの順序付けされていないマルチマップの関数のコストに関する情報を見つけるのに苦労しています。Host
各キーのインスタンスの数(つまり、各キーにInfections
関連付けられている数)を追跡するために、個別の2次元配列に追加してオーバーヘッドを増やす必要がありますint
か?1つまたは2つの不要な複合キーインデックスを削除するなど、Boostマルチインデックスの大規模な構造的オーバーホールがより役立つかどうか疑問に思っています。マルチインデックスのバックグラウンドメンテナンスはプロファイラーに表示されないため、(おそらくばかげて)それが大きいのではないかと心配しています。マルチインデックスには8つのインデックスがあり、そのほとんどはordered_non_uniqueです。
プロファイラーに表示されない可能性のある他の懸念事項はありますか、それともプロファイラーからの主要な結果が欠落していますか?
calcSI()
残念ながら、の並列化とマルチスレッド化はオプションではありません。
更新:InfectionMap carriage
10ペアを超えることはめったになく、通常は5未満であることを知っておくと役立つ場合があります。
更新2:上記の#1で提案した戦略を試し、それぞれHost
に配列int carriageSummary[ INIT_NUM_STYPES ]
を指定しました。配列は、の可能な値でインデックス付けされていますz
(ほとんどのシミュレーションでは、10未満の可能な値があります)。各エントリの値は、に加えられた変更を追跡しますcarriage
。Host::isInfectedZ( int z )
関数は次
のようになります。

z
。他のコンテナ(つまり、unordered_mapではない)は、より広い範囲でより効率的でしょうか?
マルチインデックスの変更に関するフィードバックもお待ちしています。
c++ - マップ内の初期化された構造体の内容にアクセスできません
私は構造体を持っています:
次に、KeyPair のインスタンス化を初期化して、Automated Test App で使用できるようにします。
現在、これらのキーペアを使用する関数を呼び出しています。
これらすべての KeyPair インスタンス化を MAP に入れたいので、pressKeyPairs() と qDebug() を 100 回呼び出す必要はありません...私は MAPS を使用する初心者です...だから私は試しました:
編集: pressKeyPairs は次のように宣言されます。
このコード ブロックは機能していません... :( これらのキーペアをマップに適切に配置する方法を誰か教えてもらえますか?