問題タブ [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.
android - SharedPreferences.getAll()を使用してkeySet()を呼び出します
私はJavaとAndroidの両方に慣れていないので、私の質問が理にかなっていることを願っています(私が何を求めているかはわかっていると思います!)
私は本の例を調べていますが、次のステートメントを含むクエリがあります。
savedSearchesはSharedPreferencesオブジェクトです。
savedSearches.getAll()
呼び出しを行うことができるマップを返しますKeySet()
。私が理解していないのは、どのようにKeySet()
電話をかけることができるかということです。コードでクラス/インターフェイスを使用する場合は、それをインポートするか、呼び出しを行うオブジェクト(この場合は参照)を直接または間接的に拡張/実装するクラス/インターフェイスをインポートする必要があるという印象を受けています。マップに。
私が取り組んでいる例では、次のものをインポートします。
私はJavaとAndroidAPIを調べましたが、マップが上記のいずれにも実装されていることを確認できません(見逃していない限り)。したがって、原則として、を呼び出すことはできませんKeySet()
。では、どうすればこの呼び出しを行うことができKeySet()
ますか?
うまくいけば、上記が何らかの意味をなすでしょう:/これを理解するのに役立つ正しい方向へのヘルプやポインタがあれば幸いです。
java - HashMapで重複したキー
HashMapsに奇妙な状況があります。HashMapのkeySet()を反復処理しているときに、値が重複しています。そして、値を取得しようとしている間、私はNULLを取得しました。
これが私のHashMap実装です:
CSVファイルから行を読み取っているときに、HashMapに値を入力しています。
私はCSVでこのようなものを持っています(元のリストははるかに長いです):
Location_Code、Street_Name、Start、End、OddEven
行をコンマで分割し、値をトリミングして、HashMapにデータを入力しています。
そして、問題はここから始まります。keySet()を反復処理する場合:
私は次のようなものを持っています:
- JustAStreet
- AnotherStreet
- AnotherStreet
- JustAStreet
- JustAStreet
HashMapを介した反復中に.get(key)メソッドを使用してデータにアクセスしようとすると、nullになることがあります。だから私は価値を失っています。:(
私の質問は、HashMapに重複したキーがあるのはどうして本当なのかということです。私が間違っていること。
UPD:キーはユニークです。別のクラスで問題が見つかりました。
java - Java でマップを使用した場合の予期しない/未定義の結果
私はドキュメントを推奨するためにいくつかの作業を行っており、そのためにコサイン類似度法を使用しています。そのメソッドのコードは次のとおりです。
問題は、パラメーターが渡される順序によって結果が異なることです。たとえば、呼び出すcosineSimilarity(v1, v2)
と返され0.3
ますが、呼び出すcosineSimilarity(v2, v1)
とまったく異なる値が返されます。
Map.keySet()
これは、マップに基づくセットを返すという事実と関係があると思いますが、これの意味を完全には理解していません。
メソッドのどこが間違っているのか誰にもわかりますか?
java - 2 つの異なる HashMap を使用しているときに、最初のキーセットを作成できますが、2 番目のキーセットは作成できません
HashMap
クラスで2 つの異なる を使用していますkeySet()
。最初のメソッド (getExitString()
メソッド) でメソッドを呼び出すと正常に動作しますが、2 番目のメソッド (getLockedDoors()
メソッド) で呼び出すと、「シンボルが見つかりません」というメッセージが表示されます。 - メソッドkeySet()
"エラー。どうすればこれを修正できますか? ありがとう!関連するコードは以下です。
java - HashMap に現在保存されているすべてのキーを一覧表示してアドレスにマッピングするにはどうすればよいですか
HashMap に現在保存されているすべてのキーを一覧表示して、そのアドレスにマッピングする方法を教えてください。
これは私がこれまでに試みたものであり、keySet メソッドを使用する必要があることはわかっていますが、それを適用する方法がわかりません。
java - キーがセットのイテレータを使用して読み取られる場合よりも、同じHashMapのイテレータを使用してキーが読み取られる場合に、Java HashMap get(key)がより速く動作するのはなぜですか?
HashMap<Integer,Integer> の場合、10000000 個の一意のランダム値を挿入した後。次のコード スニペットのように、ハッシュマップの keySet() を使用して get() を実行します。
上記のコードを実行すると、次のようになります: 225 ms
ここで、次のスニペットのように、代わりにセットを使用するように上記のコードを変更すると:
そして、このコードを実行した後、次のようになります: 414 ミリ秒
なぜこのようなパフォーマンスの違いが生じるのでしょうか?
PS: 次の JVM 引数を使用しました。
java - Javaでmap.keyset()がセットビューを返すのに、map.values()がコレクションを返すのはなぜですか?
この質問は、Java 開発者による設計の実装に関するものです。Keyset()
set-view を返すのに を返すvalues()
理由を知りたい (考えられない重大な理由がある場合) Collection-view
。withValues()
として返さないのはなぜですか。必要に応じてセットにキャストできますが、なぜそれがそのまま選択されるのか.ValueSet
set-view
これは、カスタムのデータ構造を構築する際に、どのデータ構造を使用するかを決定するのに役立つかもしれません。
java - 文字列の ArrayList としての HashMap
まず、これは課題なので、コード化された回答よりもヘルプを探しています (ごまかしたくない!)。私の課題は、駅の列車/鉄道ネットワークを処理するプログラムを作成することです。私が立ち往生しているセクションは、ステーションとその接続を追加し、これらの接続を文字列の配列リストとして返します。これまでのコードと、割り当てからの抜粋 (現在のセクションに関連するもの) を以下に含めました。私は週末を通してこのビットに苦労してきたので、どんな助けでも大歓迎です.
編集する必要があるのは、"MyNetwork" クラスのインターフェイスの実装だけです。私はぐるぐる回っていると感じただけで、右足で降りることさえできなかったのでしょうか?
割り当てから;
Network インターフェイスを実装するクラス MyNetwork を作成します。
このクラスの getConnections メソッドは、fromStation 引数に直接接続されているステーションのみを含む配列を返す必要があります。ヒント 1: HashMap を使用してこれを行うことができます。キーは文字列 (ステーションを表す) であり、値は文字列の ArrayLists (直接接続されているステーションを表す) です。
ヒント 2: getConnections メソッドは文字列の配列を返しますが、HashMap の値は文字列の ArrayList である方がよいでしょう
インターフェイス;
実装: