問題タブ [keyset]
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 - keySet に対する Java 反復
次の Java コードがあります。
「findBugs」から次のような警告が表示されます。
メソッドmyMethod
は、entrySet イテレーターの代わりに keySet イテレーターを非効率的に使用します。警告はtmpList
割り当て時に行われます。
なぜこれが非効率なのか理解できません。実際、keys
リストは一度だけ計算されます。任意のコメント?ありがとう。
ruby - Ruby - キーを格納しないハッシュ
私はirbで以下を実行しました:
ハッシュにキー"a"
を追加すると、結果に表示されないのはHash#keys
なぜですか?
ありがとう
java - WeakHashMap の keySet エントリは決して null ではありませんか?
WeakHashMap のキー セットを反復処理する場合、null 値をチェックする必要がありますか?
つまり、WeakHashMap の要素を反復処理中に収集できますか?
編集
この質問のためnull
に、ハッシュマップにエントリが追加されていないと仮定できます。
java - Java:HashMapはキーがあると主張していますが、どういうわけかそうではありません
ContextクラスのオブジェクトをIntegersにマッピングするHashMapがあります。Contextクラスでは、java.lang.Objectのpublic int hashCode()とpublic boolean equals(Object c)をオーバーライドしました。しかし、私はそれを繰り返すのに問題があります:
(たとえば)各Contextオブジェクトに割り当てられた整数値を取得したいので、マップのキーセットを反復処理します。ただし、マップには指定されたキーがないと表示されているため、機能しません。
出力は
私が理解していることは、キーが与えられると、マップは最初にハッシュコードが一致するかどうかをチェックし、次に等しいかどうかをチェックするということです。ここでは両方の場合があり、「to」オブジェクトとキーセットの最初のオブジェクトのハッシュコードが一致し、それらも等しくなります。興味深いことに、hashCode()関数の戻り値を定数に変更すると(これは有効ですが、パフォーマンス上の理由から推奨されません)、機能します。しかし、156349==156349は7==7と同じように、なぜこれが違いを生むのかわかりません。
私はかなり混乱しています、そして私は私が非常に明白な何かを見逃しているのではないかと心配しています、そしてそれを見ることができません。もしそうなら、私は恥ずかしいですが、それでも、私はヒントをいただければ幸いです:-)
どうもありがとう!
java - map.get(key)メソッドの回避
私は次のコードを持っていますが、マップキーを繰り返し処理しながらマップから値を取得することkeySet()
は、findBugsを使用しても間違いであることがわかりました。警告が表示されますWMI_WRONG_MAP_ITERATOR
では、なぜこれが良くないのか、どうすれば修正できますか?
ありがとう。
java - Map.keySet() および Set.addAll が NullPoiterException をスローする
これは古いコードであり、デバッグ中です。サイズ2のMap
(myMap)があります(確かに)。キーはnull
と1
です。
このwhile
ループは、1 回だけ繰り返されます。ここで何が問題なのかわかりません。何か問題ある?
私を助けてください。前もって感謝します。
アップデート:
今、私は例外を下回っていますmySet.addAll(myMap.keySet());
java - javaコレクション-マップ内のkeyset()とentrySet()
文字列配列要素は、文字列配列の要素がキーであり、単語の頻度が値であるマップです。例:
次に、マップには次のようなエントリがあります[ if:1, it:2 .... ]
すべてのキーを出力します。"if","it","is","to","be","it","is","up","me","to","delegate"
すべてのキー値のペアを出力します:
エントリセットを使用すると、すべての値が出力されます。
ただし、以下のコードブロックは、上記とまったく同じ出力を出力する必要がありますが、そうではありません。
それは印刷します:
しかし、whileループの1行目のコメントを外すと
行にコメントします
次に、すべてのキーを取得します。{"if","it","is","to","be","it","is","up","me","to","delegate"};
m.get()
と一緒に使用する場合itr2.next()
、イテレータにはいくつかのキーがありません。
java - ハッシュマップを文字列配列に変換する
作成した文字列配列に入れることができるハッシュマップを配列に変換しようとしています。ただし、java.lang を取得します。Drinkar.keySet().toArray() を String[] に型変換しましたが、それでも機能しません。
lua - lua: テーブル内のキーのリストを取得します
lua でテーブルのキー セットを取得する方法を知る必要があります。たとえば、次のテーブルがあるとします。
次のようなテーブルを取得したい:
c++ - マップキーセットでアルゴリズムを見つける (c++)
マップのキーセットに対して .find(itr, itr, value) アルゴリズムを使用する方法はありますか? キー値をセットに転送する (そしてそれを使用する) ためにマップ上でイテレータを使用できることは知っていましたが、それを行うためのより迅速な方法があるかどうかはわかりませんでした。