問題タブ [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.

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

java - パフォーマンス - entrySet イテレーターの代わりに keySet イテレーターを非効率的に使用する

このコードはエラー This method access the value of a Map entry, using a key that was received from a keySet iterator. をスローします。Map.get(key) ルックアップを避けるために、マップの entrySet で反復子を使用する方が効率的です。言い換えの仕方を教えてください

0 投票する
2 に答える
83 参照

java - クラス A で、クラス B の HashMap のキーセットを調べたい

別のクラスの HashMap の keySet 内の各キーを調べたい。今、これは私が持っているものです:

管理者.java

Person.java

同じクラスに格納されていない HashMap で HashMap コマンドを使用できないため、これを行うことはできないと思います。

私が使用できる別の方法はありますか?Admin.java から間違って呼び出していますか?

ありがとう!

0 投票する
2 に答える
786 参照

java - Hashmap keySet() は、キーの代わりに値を返します

これが私の方法です。ハッシュマップには、ヨーロッパの国-首都(ロシア-モスクワ)のペアがあります.ただし、キー(国)ではなく値(首都)を返し続けます.ハッシュマップをテストしました正しい順序になっています。

私がこれを行う場合:

私は自分の国を印刷します。

私の方法が期待どおりに機能しない理由はありますか?

0 投票する
2 に答える
1351 参照

java - keySet() が HashMap の順序を維持しているのに、なぜ LinkedHashMap が必要なのですか?

}

上記の例でわかるように、hashmap で key.hashcode() の衝突が発生した場合に何が起こるかを確認するために、すべてのケースで hashcode() が 1 を返すように明示的に設定しました。何が起こるか、これらの Map.Entry オブジェクトのリンクされたリストが維持されます。

1(key.hashcode()) は <2,false> にリンクし、<10,true> にリンクします

(私が理解しているように、真の値の後に偽の値が入力されるため)。

しかし、keySet() を実行すると、最初に false が返されるのではなく、最初に true が返され、次に false が返されます。

したがって、ここで想定しているのは、keySet() はセットであり、セットは順序を維持するため、反復中に true と false を取得します。しかし、繰り返しになりますが、取得する唯一の方法は順序によるものであるため、hashmap は順序を維持しているとは言えません。または、LinkedHashMap を使用する理由は何ですか?

ここで、chsnge を追加して hashcode メソッドを追加すると、like が返されます

逆順になります。さらに追加で

受け取った出力は、

今でも疑問に思っています, なぜ順序がソートされているのですか.? ハッシュマップのkeySet()、entrySet()メソッドがどのように機能するかを詳しく説明してもらえますか?

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

java - keySet() または propertyNames()。propertyName() を使用しても問題ありませんか?

私はjava.util.Propertiesオブジェクトを操作していますが、通常keySet()はプロパティのすべてのキーを取得するために使用します。

私はどちらが良いkeySet()か疑問に思っていましpropertyNames()た。

propertyNames()キーの列挙を返します-それは私が一般的keySetに使用されていることが原因ですか? それとも使って大丈夫propertyNames()ですか?

0 投票する
2 に答える
6004 参照

java - keySet() を使用して HashMap 内のキーのセットを取得し、それをループして各キーのカウントを見つける方法は?

私は任務の終わりに近づいています。私がするように指示された最後のことの 1 つは、次のことです。

  • keySet() を使用して、一連のキー (マッピングの文字列部分) を取得します。このセットをループして、単語とそのカウントを出力します。

keySet() メソッドを使用して HashMap 内のキーの数を出力しましたが、まだ行っていないのは、HashMap 内の各単語の長さを見つけて、各単語内の文字数を出力することです。これをどのように行うべきかについては、現在のところ確信が持てません。for ループの時間を使用して、既に行った keySet() を反復処理し、.length() メソッドのようなものを使用して各単語の長さを調べ、それを何らかの形で出力すると仮定していますか?

これまでのところ、関連するコードは次のとおりです。

メインクラス

WodGroup クラス

これを行う方法についての助けは大歓迎です、ありがとう。

更新 したがって、コードがコンパイルされると、次の出力が得られます。

しかし、私が実際にやりたいことは、各単語内の文字数を出力することです。たとえば、play は 4 回カウントされ、すべてが 3 回カウントされ、at は 2 回カウントされます。これを実装する方法についてのアイデアはありますか?

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

java - クラスで宣言されたすべての文字列定数とその内部クラスを単一のキーセットに入れる方法

おそらく、隠れた問題は、ある種の階層を持つキーにどの構造を使用するかということです (したがって、特定のサブセットのテストが可能になるように、クラスと内部クラスを使用しようとしています)。新しいキーを適切な場所に追加し、このキーを適切なキーセットに自動的に配置できる構造を探しています。ここで私の実際の試み:今、静的な最終的な文字列と対応するキーセットとしてキーを操作します。特定のキーが他のクラスで宣言されたキーのセット (public static final String) に含まれているかどうかをテストする必要があることがよくあります。したがって、キーのセットを提供するメソッド keySet() を持つクラス Keys1 のキーを使用してすべてのクラスを拡張します。それはうまくいきます。

ここで、KeySet に Keys2 型の内部クラスで宣言されたキーも含める必要がある Keys2 クラスで同様の機能をコーディングしようとしても無駄です。