Pytania otagowane jako hashset

HashSet hermetyzuje operacje, które umożliwiają porównywanie elementów w kolekcjach. HashSets są często używane do określania nakładających się i unikatowych elementów w kolekcji.

9
Dlaczego nie ma ConcurrentHashSet przeciwko ConcurrentHashMap
HashSet jest oparty na HashMap. Jeśli spojrzymy na HashSet<E>implementację, wszystko jest zarządzane w ramach HashMap<E,Object>. <E>jest używany jako klucz HashMap. I wiemy, że HashMapnie jest to bezpieczne dla wątków. Właśnie dlatego mamy ConcurrentHashMapJavę. Na tej podstawie jestem zdezorientowany, dlaczego nie mamy ConcurrentHashSet, który powinien być oparty na ConcurrentHashMap? Czy coś …

13
Hashset vs Treeset
Zawsze kochałem drzewa, takie ładne O(n*log(n))i uporządkowane. Jednak każdy inżynier oprogramowania, którego znałem, spytał mnie wyraźnie, dlaczego miałbym go użyć TreeSet. Z tła CS nie sądzę, żeby miało to tak duże znaczenie, z jakiego korzystasz, i nie dbam o to, aby bawić się funkcjami skrótu i ​​segmentami (w przypadku Java). …
495 java  hashset  treeset 

4
Zdefiniuj: Co to jest HashSet?
HashSet Struktura danych C # HashSet została wprowadzona w .NET Framework 3.5. Pełna lista zaimplementowanych elementów znajduje się na stronie MSDN HashSet . Gdzie jest używany? Dlaczego chcesz tego używać?
420 c#  hashset 



19
Różnica między HashSet i HashMap?
Poza tym, że HashSet nie zezwala na zduplikowane wartości, jaka jest różnica między HashMapi HashSet? Mam na myśli mądre wdrożenie? Jest to trochę niejasne, ponieważ obie używają tablic mieszających do przechowywania wartości.

2
Dlaczego HashSet <Point> jest o wiele wolniejszy niż HashSet <string>?
Chciałem przechowywać niektóre lokalizacje pikseli bez zezwalania na duplikaty, więc pierwsze co przychodzi mi na myśl to HashSet&lt;Point&gt;lub podobne klasy. Jednak wydaje się to być bardzo powolne w porównaniu do czegoś podobnego HashSet&lt;string&gt;. Na przykład ten kod: HashSet&lt;Point&gt; points = new HashSet&lt;Point&gt;(); using (Bitmap img = new Bitmap(1000, 1000)) { …


10
HashSet vs LinkedHashSet
Jaka jest różnica między nimi? wiem to LinkedHashSet to uporządkowana wersja HashSet, która utrzymuje podwójnie połączoną listę wszystkich elementów. Użyj tej klasy zamiast HashSet, jeśli zależy Ci na kolejności iteracji. Podczas iteracji przez HashSet kolejność jest nieprzewidywalna, podczas gdy LinkedHashSet umożliwia iterację elementów w kolejności, w jakiej zostały wstawione. Ale …


11
Kiedy należy używać typu HashSet <T>?
Badam ten HashSet&lt;T&gt;typ, ale nie rozumiem, jakie miejsce zajmuje w kolekcjach. Czy można go użyć do zastąpienia List&lt;T&gt;? Wyobrażam sobie, że działanie a HashSet&lt;T&gt;jest lepsze, ale nie widziałem indywidualnego dostępu do jego elementów. Czy to tylko do wyliczenia?

4
Jak HashSet porównuje elementy pod kątem równości?
Mam klasę, która jest 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); } } Kiedy dodam listę obiektów tej klasy do zestawu …
127 c#  hashset 


5
HashSet <T> versus Dictionary <K, V> wrt czas wyszukiwania w celu znalezienia, czy element istnieje
HashSet&lt;T&gt; t = new HashSet&lt;T&gt;(); // add 10 million items Dictionary&lt;K, V&gt; t = new Dictionary&lt;K, V&gt;(); // add 10 million items. Czyja .Containsmetoda zwróci się szybciej? Dla wyjaśnienia, moim wymaganiem jest to, że mam 10 milionów obiektów (cóż, ciągów znaków), które muszę sprawdzić, czy istnieją w strukturze danych. NIGDY …

7
Kolekcja, która zezwala tylko na unikalne elementy w .NET?
Czy istnieje kolekcja w C #, która nie pozwoli Ci dodać do niej zduplikowanych elementów? Na przykład w przypadku głupiej klasy public class Customer { public string FirstName { get; set; } public string LastName { get; set; } public string Address { get; set; } public override int GetHashCode() …
103 c#  set  hashset 

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.