Un HashSet incapsula operazioni che consentono il confronto di elementi nelle raccolte. Gli HashSet vengono spesso utilizzati per determinare elementi sovrapposti e univoci all'interno di una raccolta.
HashSet si basa su HashMap. Se guardiamo HashSet<E>all'implementazione, tutto è gestito sotto HashMap<E,Object>. <E>è usato come chiave di HashMap. E sappiamo che HashMapnon è thread-safe. Ecco perché abbiamo ConcurrentHashMapin Java. Sulla base di questo, sono confuso dal fatto che non abbiamo un ConcurrentHashSet che dovrebbe essere basato sul ConcurrentHashMap? C'è …
Ho sempre amato gli alberi, così belli O(n*log(n))e ordinati. Tuttavia, ogni ingegnere del software che abbia mai conosciuto mi ha chiesto chiaramente perché avrei usato un TreeSet. Da un background CS, non penso che importi molto di quello che usi, e non mi interessa fare confusione con le funzioni hash …
HashSet La struttura di dati HashSet C # è stata introdotta in .NET Framework 3.5. Un elenco completo dei membri implementati è disponibile nella pagina MSDN di HashSet . Dove è usato? Perché dovresti usarlo?
Con un elenco puoi fare: list.AddRange(otherCollection); Non esiste un metodo di intervallo di aggiunta in un HashSet . Qual è il modo migliore per aggiungere un'altra raccolta a un HashSet?
A parte il fatto che HashSetnon consente valori duplicati, qual è la differenza tra HashMape HashSet? Voglio dire implementazione saggia? È un po 'vago perché entrambi usano le tabelle hash per memorizzare i valori.
Volevo memorizzare alcune posizioni di pixel senza consentire i duplicati, quindi la prima cosa che mi viene in mente è HashSet<Point>o classi simili. Tuttavia, questo sembra essere molto lento rispetto a qualcosa di simile HashSet<string>. Ad esempio, questo codice: HashSet<Point> points = new HashSet<Point>(); using (Bitmap img = new Bitmap(1000, …
Puoi spiegare qual è la differenza tra HashSet<T>e List<T>in .NET? Forse puoi spiegare con un esempio in quali casi HashSet<T>dovrebbe essere preferito List<T>?
Qual'è la differenza tra loro? lo so Un LinkedHashSet è una versione ordinata di HashSet che mantiene un elenco doppiamente collegato tra tutti gli elementi. Usa questa classe invece di HashSet quando ti preoccupi dell'ordine di iterazione. Quando si scorre attraverso un HashSet l'ordine è imprevedibile, mentre un LinkedHashSet consente …
Si prega di considerare la parte di codice seguente: HashSet hs = new HashSet(); hs.add("hi"); -- (1) hs.add("hi"); -- (2) hs.size()darà 1 in quanto HashSetnon consente duplicati, quindi verrà memorizzato solo un elemento. Voglio sapere se aggiungiamo l'elemento duplicato, quindi sostituisce l'elemento precedente o semplicemente non lo aggiunge? Inoltre, cosa …
Sto esplorando il HashSet<T>tipo, ma non capisco dove si trova nelle raccolte. Si può usare per sostituire un List<T>? Immagino che le prestazioni di HashSet<T>a siano migliori, ma non riesco a vedere l'accesso individuale ai suoi elementi. È solo per l'enumerazione?
Ho una classe che è IComparable: public class a : IComparable { public int Id { get; set; } public string Name { get; set; } public a(int id) { this.Id = id; } public int CompareTo(object obj) { return this.Id.CompareTo(((a)obj).Id); } } Quando aggiungo un elenco di oggetti di …
HashSet<T> t = new HashSet<T>(); // add 10 million items Dictionary<K, V> t = new Dictionary<K, V>(); // add 10 million items. Quale .Containsmetodo tornerà più rapidamente? Giusto per chiarire, il mio requisito è che ho 10 milioni di oggetti (beh, davvero le stringhe) che devo controllare se esistono nella …
Esiste una raccolta in C # che non ti consente di aggiungere elementi duplicati? Ad esempio, con la stupida classe di public class Customer { public string FirstName { get; set; } public string LastName { get; set; } public string Address { get; set; } public override int GetHashCode() …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.