問題タブ [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.
c++ - C++ STL::multimap から範囲内の要素の数を見つける
STL::multimap があり、 equal_range で検索して上限と下限を返します。この範囲内の要素の数を、それらすべてを反復処理して 1 つずつ数えずに見つけることはできますか?
java - 優れた (挿入、反復) パフォーマンス特性を持つ Java のプリミティブ マルチマップ
Java で ints/longs を使用して重い処理 (逆インデックスの構築) を行っています。
私は、標準の java.collections マップの (アン) ボックス化が、合計処理時間の大きな部分を占めると判断しました。(メモリの制約のために使用できない配列を使用した同様の実装と比較して)。
次の構造をサポートできる高速なサードパーティの実装(またはその点での実装)を探しています。
特性を持つマップ:
-マップ内のキーはまばらです (範囲 [0,2^64] 内の +/- 10.000.000 キー -値は常にリストの最後に追加されます -高速挿入 (可能であれば償却された O(1)) -高速反復キー順に。
trove、fastutil などを見てきましたが、プリミティブ (法線マップのみ) を使用したマルチマップの実装が見つかりませんでした。
どんな助けでも大歓迎です。
ありがとう、Geert-Jan
c++ - C++ は std::multimap から複数のキーを見つけます
キーが重複している値STL::multimap
を入力するために検索するand があります。std::list
std::list
すべてのキーの要素の値をcount > 1
1つずつ数えずに検索/挿入できますか?
lst
が含まれている可能性があります"a" ,"c","j","k"
。
私はこれを試します
このコードがコンパイルされるかどうかはわかりません。
c++ - エラーを起こさずに equal_range を使用してマルチマップ検索から戻る
重複したコードをリファクタリングしようとしています。2 つの関数はどちらも equal_range() を使用して multimap を検索します。equal_range() の呼び出し後の for ループには、 it != equalRange.second という条件でイテレータを equalRange.first に設定する for ループがあります。
正しい値が見つかった場合、2 つの関数は異なります。私がやりたいことは、前述の 2 つが使用する独自のヘルプ機能として検索機能を持たせることです。
それを機能させることは問題ではありません。問題は、このコードを使用している他の人にとって意味のある方法で、「簡単」かつ将来の証拠にする方法を見つけられないことです。明らかに、検索機能から何かが返されることを望みます。
マルチマップで値が見つかったかどうかを示すブール値を返す場合、要素を指すマルチマップに反復子を渡す必要があります。私はそれがかなり醜いと思います。
代わりに反復子が返された場合は、もちろん、検索関数を使用する 2 つの関数の境界に対してそれをチェックする必要があります。equal_range を使用しているため、multimap.end() に対してチェックすることはできません。
checkBound(x) が multimap::upperbound(x) を返す returnIter == checkBound(x) 境界チェックを使用すると、checkBound(x) は検索関数の equal_range 実装を認識します。したがって、他の誰かが検索機能を変更した場合、checkBound(x) が期待どおりに機能しない可能性があります。
ここでの私の立場は、検索機能のユーザーはそれがどのように実装されているかを気にするべきではないということです。つまり、それが equal_range を使用していることを知ってはいけません。
これに対するあなたの意見や提案は何ですか?私はここで詳細すぎますか?検索機能をどのように実装しますか?
ありがとう
java - 値に HashMultiset を使用したマルチマップ
キーごとに (ハッシュベースの) 値のマルチセットを持つ (ハッシュベースの) マルチマップを作成しようとしています。例を参照してください。
しかしその後、
作成したマルチセットにアクセスできないようですか? これを Multiset (Multisets.unmodifiableMultiset() にラップ) として返すことができるようにしたかったのです。毎回新しいマルチセットにコピーしたくありません。元のコードに戻って、排除することを意味するMap<K, Multiset<V>>
複雑さをコードに追加する以外に、他に選択肢はありますか?Multimap
scala - Scalaの多価値マップ
Scala 2.8では、キーごとに複数の値を持つ不変のマップがあります。
優れた表現はありますか?次に、このようなマップをどのように生成しますか
?私は現在使用しています:
これは機能しますが、不格好に感じます。
編集:不変のデータを使用していることを指定する必要があります。MultiMapに相当する不変のものはありますか?
modal-dialog - スライダーがマルチマップの上にある場合、Scriptaculousスライダーハンドルは移動しません
マルチマップの上のモーダルダイアログウィンドウに表示されているScriptaculousSliderがあります。私が抱えている問題は、このページでスライダーハンドルをドラッグしようとしても動かないことです。スライダートラックをクリックすると、ハンドルがそのポイントに正しくジャンプし、ハンドルを使用して正しくドラッグできます。
ハンドルをクリックすると、console.log()
その時点でのスライダーの値を確認できるため、クリックが正常に登録されます。スライダーをハンドルでドラッグしようとすると、同じ値が記録され続け、ハンドルは移動しません。
スライダーは、マルチマップがないページで正しく機能します。
ページには他のJSフレームワークはありません(PrototypeとScriptaculousのみ)。
問題があるかどうかは本当にわかりません。スライダーが何も登録していなかった場合は、マップが何らかの形で上にあるか、クリックイベントを盗んでいることを意味します。しかし、クリックは明らかに記録されています。また、スライダートラックをクリックすると、問題が完全に解決する理由もわかりません。
誰かが私を正しい方向に向けることができますか(修正、または問題を自分でデバッグするためのパスのいずれかを使用して)。
私が試したこと:
- ハンドルのz-indexを設定します。
- モーダルダイアログを最初に表示する(最初は非表示になっているため、この問題に関連している可能性があると思いましたが、役に立ちませんでした)。
list - 2列の行列をマルチマップのような構造に変換するには?
2列のマトリックスをマルチマップまたはリストのリストに変換する方法があるかどうか疑問に思っています。
マトリックスの最初の列は ID で (エントリが重複している可能性があります)、2 番目の列は何らかの値です。
たとえば、マトリックスに従う必要がある場合
次のリストに変換したいと思います
c++ - マルチマップ消去が機能しない
次のコードは入力では機能しません:
消去が機能しないのはなぜですか?
java - 重複を処理するソートされたJavaコレクションはありますか?
C ++マルチマップのように動作するコレクションが必要ですが、キーの範囲によって要素を取得できる必要もあります。