Ein HashSet kapselt Operationen, die den Vergleich von Elementen in Sammlungen ermöglichen. HashSets werden häufig verwendet, um überlappende und eindeutige Elemente innerhalb einer Sammlung zu bestimmen.
HashSet basiert auf HashMap. Wenn wir uns die HashSet<E>Implementierung ansehen , wird alles unter verwaltet HashMap<E,Object>. <E>wird als Schlüssel von verwendet HashMap. Und wir wissen, dass HashMapdas nicht threadsicher ist. Deshalb haben wir ConcurrentHashMapin Java. Aufgrund dessen bin ich verwirrt, warum wir kein ConcurrentHashSet haben, das auf dem basieren sollte …
Ich habe Bäume immer geliebt, so schön O(n*log(n)) und ordentlich. Jeder Softwareentwickler, den ich jemals gekannt habe, hat mich jedoch ausdrücklich gefragt, warum ich a verwenden würde TreeSet. Vor dem Hintergrund eines CS denke ich nicht, dass es so wichtig ist, was Sie verwenden, und es ist mir egal, ob …
HashSet Die C # HashSet-Datenstruktur wurde in .NET Framework 3.5 eingeführt. Eine vollständige Liste der implementierten Mitglieder finden Sie auf der HashSet MSDN- Seite. Wo wird es verwendet? Warum sollten Sie es verwenden wollen?
Mit einer Liste können Sie Folgendes tun: list.AddRange(otherCollection); In einem HashSet gibt es keine Methode zum Hinzufügen von Bereichen . Was ist der beste Weg, um einem HashSet eine weitere Sammlung hinzuzufügen?
Wie kann ich über ein Set/ HashSetohne Folgendes iterieren ? Iterator iter = set.iterator(); while (iter.hasNext()) { System.out.println(iter.next()); }
HashSetWas ist der Unterschied zwischen HashMapund, abgesehen von der Tatsache, dass keine doppelten Werte zulässig sind HashSet? Ich meine Implementierung weise? Es ist ein bisschen vage, weil beide Hash-Tabellen verwenden , um Werte zu speichern.
Ich wollte einige Pixelpositionen speichern, ohne Duplikate zuzulassen, daher fallen mir als Erstes HashSet<Point>ähnliche Klassen ein. Dies scheint jedoch im Vergleich zu so etwas sehr langsam zu sein HashSet<string>. Zum Beispiel dieser Code: HashSet<Point> points = new HashSet<Point>(); using (Bitmap img = new Bitmap(1000, 1000)) { for (int x = …
Können Sie erklären, was der Unterschied zwischen HashSet<T>und List<T>in .NET ist? Vielleicht können Sie anhand eines Beispiels erklären, in welchen Fällen Sie HashSet<T>bevorzugt werden sollten List<T>?
Was ist der Unterschied zwischen ihnen? ich weiß das Ein LinkedHashSet ist eine geordnete Version von HashSet, die eine doppelt verknüpfte Liste über alle Elemente hinweg verwaltet. Verwenden Sie diese Klasse anstelle von HashSet, wenn Sie sich für die Iterationsreihenfolge interessieren. Wenn Sie ein HashSet durchlaufen, ist die Reihenfolge nicht …
Bitte beachten Sie den folgenden Code: HashSet hs = new HashSet(); hs.add("hi"); -- (1) hs.add("hi"); -- (2) hs.size()gibt 1, da HashSetkeine Duplikate zulässig sind, sodass nur ein Element gespeichert wird. Ich möchte wissen, ob wir das doppelte Element hinzufügen. Ersetzt es dann das vorherige Element oder fügt es es einfach …
Ich erkunde das HashSet<T> Typ, verstehe aber nicht, wo er in Sammlungen steht. Kann man damit ein ersetzen List<T>? Ich stelle mir die Leistung eines HashSet<T>besser vor, aber ich konnte keinen individuellen Zugang zu seinen Elementen sehen. Ist es nur zur Aufzählung?
Ich habe eine Klasse, die ist 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); } } Wenn ich eine Liste von Objekten …
HashSet<T> t = new HashSet<T>(); // add 10 million items Dictionary<K, V> t = new Dictionary<K, V>(); // add 10 million items. Wessen .ContainsMethode wird schneller zurückkehren? Zur Verdeutlichung ist meine Anforderung, dass ich 10 Millionen Objekte (also wirklich Zeichenfolgen) habe, die ich überprüfen muss, ob sie in der Datenstruktur …
Gibt es eine Sammlung in C #, mit der Sie keine doppelten Elemente hinzufügen können? Zum Beispiel mit der dummen Klasse von public class Customer { public string FirstName { get; set; } public string LastName { get; set; } public string Address { get; set; } public override int …
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.