問題タブ [hashset]
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# - ジェネリック拡張メソッドを正しく機能させる際の問題
HashSetの拡張メソッドAddRangeを作成しようとしているので、次のようなことができます。
これは私がこれまでに持っているものです:
問題は、AddRangeを使用しようとすると、次のコンパイラエラーが発生することです。
The type arguments for method 'AddRange<T>(System.Collections.Generic.ICollection<T>, System.Collections.Generic.List<T>)' cannot be inferred from the usage. Try specifying the type arguments explicitly.
言い換えれば、私は代わりにこれを使用することになります:
私はここで何が間違っているのですか?
c# - HashSet.AddRange() を使用して List を HashSet に変換する汎用拡張メソッドを作成するにはどうすればよいですか?
HashSet には AddRange メソッドがないので、その拡張メソッドを書きたいと思います。これは私が持っているものです:
基本クラス Media と派生クラス Photo があります。これは私が働きたいコードです:
ただし、コンパイラは、を使用しようとすると、List<Photo>
をに変換できないと言っています。これは拡張メソッドにあるためだと確信していますが、型が の型と異なるようにするにはどうすればよいですか?IEnumerable<Media>
AddRange()
IEnumerable<T>
AddRange<T>
.net - HashSet を変換する.NET の配列に
HashSet<T> を .NET の配列に変換するにはどうすればよいですか?
java - HashMapのキーからHashSetを取得しますか?
私はかなり大きい(10万のエントリ)を持っていますHashMap
。今、私はこれからのHashSet
すべてのキーを含む必要がありますHashMap
。残念ながら、を返すメソッドHashMap
しかありませんが、を返しません。keySet()
Set
HashSet
HashSet
このようなJavaを使用して生成する効率的な方法は何でしょうか。
java - HashSetは重複を許可します
HashSet
インスタンスを期待どおりに動作させることができないようです。私が使用したコードは次のとおりです。
サブクラス
このコードは出力します
java - java.util.HashMapおよびHashSetの内部実装
java.util.HashMap
私はとの内部実装を理解しようとしてきましたjava.util.HashSet
。
以下は、しばらくの間私の頭に浮かんだ疑問です。
@Override public int hashcode()
HashMap / HashSetでの重要性は何ですか?このハッシュコードは内部でどこで使用されていますか?- 私は一般的に、HashMapのキーがの
String
ようになるのを見てきましたmyMap<String,Object>
。someObject
のように(文字列ではなく)値をマップできますmyMap<someObject, Object>
か?これが成功するために私が従う必要があるすべての契約は何ですか?
前もって感謝します !
編集:
- キーのハッシュコード(チェック!)は、値がハッシュテーブルにマップされる実際のものであると言っていますか?そして、
myMap.get(someKey);
Javaが内部的に呼び出しsomeKey.hashCode()
て、ハッシュテーブル内の数値を取得し、結果の値を探しますか?
回答:はい。
編集2:
- で
java.util.HashSet
、ハッシュテーブル用に生成されたキーはどこからですか?追加するのはオブジェクトからですか。mySet.add(myObject);
次にmyObject.hashCode()
、これをハッシュテーブルのどこに配置するかを決定しますか?(HashSetではキーを提供しないため)。
回答:追加されたオブジェクトがキーになります。値はダミーです!
c# - WPF で ObservableCollection で HashSet を使用する
ListBox を使用して、WPF アプリケーションでアイテムのリストを維持しています。ListBox データ ソースは、ObservableCollection にラップされた HashSet です。つまり、次のコードがあります。
... shackListing は ListBox コントロールであり、shackSet は ICollection にあります。ただし、最初の項目を追加した後に shackSet に何かを追加すると、ListBox に複数の項目が表示されます。つまり、セットに追加されているかどうかに関係なく、新しく追加されたアイテムがリストに追加されているようです。ICollection#Add の署名を見ると:
...そして HashSet#Add :
...これにより、ラップされたHashSetに影響を与えるバグがあり、新しく追加されたアイテムがListBoxに追加されるというバグがあると思われます.ICollection#の戻り値の型追加は無効です。他の誰かがこれを確認できますか?
java - 私のクラスがJavaHashSetで正しく機能しないのはなぜですか?
私は自分HashSet
が作成したクラスのを使用するプロジェクトに取り組んでいます。これに名前を付けTest
ます。私は次のように述べたものを定義しましたHashSet
:
使ってみました
しかし、それはを返しますfalse
。しかし、私が使用するとき、HashSet<Character>
それはうまくいくようです。以前の宣言を上書きしようとしましequals
たが、機能しませんでした。私は一人で去ろうとしequals
ました、しかし私はまだ得false
ました。私は自分が間違っていることを知る必要がありますか?
また、ハッシュ関数を編集せず、Test.equals(Object o)のみを変更しました。これは単純なプロジェクトであり、Javaのドキュメントにはo.equals(this)を使用すると記載されているため、使用する必要はないと思いました。
hashset - 予約語 boolean を HashSet に変更するのに助けが必要
このコードは、予約語のブール形式です。
これを HashSet 形式に変換する必要がありますが、これにアプローチする方法がわかりません。どんな助けでも大歓迎です。
hashset - Javaを使用してテキストファイル内の単語の頻度を見つける
与えられた入力テキスト ファイルの内容全体を解析し、各単語をハッシュ セットに格納することができました。しかし今、この入力ファイルでこれらの各単語の頻度を見つける必要があります。どうすればよいかについての提案はありますか? :)