Вопросы с тегом «hashset»

HashSet инкапсулирует операции, которые позволяют сравнивать элементы в коллекциях. HashSets часто используются для определения перекрывающихся и уникальных элементов в коллекции.

538
Почему нет ConcurrentHashSet против ConcurrentHashMap

HashSet основан на HashMap. Если мы посмотрим на HashSet<E>реализацию, все было под управлением HashMap<E,Object>. <E>используется в качестве ключа HashMap. И мы знаем, что HashMapэто не потокобезопасно. Вот почему у нас ConcurrentHashMapв Java. Исходя из этого, я запутался, что...

497
Хэшсет против Трисет

Я всегда любил деревья, такие красивые O(n*log(n))и аккуратные из них. Тем не менее, каждый программист, которого я когда-либо знал, спрашивал меня, почему я бы использовал a TreeSet. С точки зрения CS, я не думаю, что это так важно, что вы используете, и я не хочу возиться с хэш-функциями и...

420
Определите: что такое HashSet?

HashSet Структура данных C # HashSet была представлена ​​в .NET Framework 3.5. Полный список реализованных участников можно найти на странице HashSet MSDN . Где это используется? Почему вы хотите использовать это?...

168
Разница между HashSet и HashMap?

Помимо того, что HashSetне допускает дублирования значений, в чем разница между HashMapи HashSet? Я имею в виду реализацию мудрой? Это немного расплывчато, потому что оба используют хеш-таблицы для хранения...

165
Почему HashSet <Point> намного медленнее, чем HashSet <string>?

Я хотел сохранить некоторые пиксельные местоположения, не допуская дублирования, поэтому первое, что приходит на ум, - это HashSet<Point>или подобные классы. Однако это кажется очень медленным по сравнению с чем-то вроде HashSet<string>. Например, этот код: HashSet<Point> points =...

153
HashSet против LinkedHashSet

В чем разница между ними? я знаю это LinkedHashSet - это упорядоченная версия HashSet, которая поддерживает двусвязный список для всех элементов. Используйте этот класс вместо HashSet, если вам важен порядок итераций. Когда вы перебираете HashSet, порядок непредсказуем, а LinkedHashSet позволяет...

137
Заменяет ли добавление повторяющегося значения в HashSet / HashMap предыдущее значение

Пожалуйста, рассмотрите следующий фрагмент кода: HashSet hs = new HashSet(); hs.add("hi"); -- (1) hs.add("hi"); -- (2) hs.size()даст 1, поскольку HashSetне допускает дублирования, поэтому будет сохранен только один элемент. Я хочу знать, если мы добавим дублирующий элемент, то он заменит предыдущий...

135
Когда мне следует использовать тип HashSet <T>?

Я исследую HashSet<T>тип, но я не понимаю, где он стоит в коллекциях. Можно ли использовать его для замены List<T>? Я думаю, что производительность a HashSet<T>будет лучше, но я не вижу индивидуального доступа к его элементам. Это только для...

128
Как HashSet сравнивает элементы на равенство?

У меня есть класс 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); } } Когда я добавляю список объектов этого класса в хэш-набор: a a1...

106
Коллекция, которая позволяет только уникальные элементы в .NET?

Есть ли в C # коллекция, которая не позволяет добавлять в нее повторяющиеся элементы? Например, с глупым классом public class Customer { public string FirstName { get; set; } public string LastName { get; set; } public string Address { get; set; } public override int GetHashCode() { return...

103
HashSet <T> против Dictionary <K, V> по времени поиска, чтобы определить, существует ли элемент

HashSet<T> t = new HashSet<T>(); // add 10 million items Dictionary<K, V> t = new Dictionary<K, V>(); // add 10 million items. Чей .Containsметод быстрее вернется? Чтобы прояснить, мое требование: у меня есть 10 миллионов объектов (ну, на самом деле строк), которые мне нужно...

92
Метод HashSet <T> .removeAll на удивление медленный

Джон Скит недавно поднял интересную тему программирования в своем блоге: «В моей абстракции есть дыра, дорогая Лиза, дорогая Лиза» (курсив мой ): У меня есть набор - собственно HashSetговоря. Я хочу удалить из него некоторые элементы… а многие из них могут не существовать. Фактически, в нашем...

86
Как получить фактический элемент из HashSet <T>?

Я прочитал этот вопрос о том, почему это невозможно, но не нашел решения проблемы. Я хотел бы получить элемент из .NET HashSet<T>. Я ищу метод с такой подписью: /// <summary> /// Determines if this set contains an item equal to <paramref name="item"/>, /// according to the...