HashSet<G>
Реализует: Iterable<G>, Collection<G>, Set<G>
Набор из элементов типа G. Дубликаты выявляются через вычисление хэш каждого ключа, что можно настроить через передачу указателей на функции хэширования и проверки равенства ключей нужным вам способом.
Вы можете получить вид коллекции только для чтения через свойство read_only_view, напр. my_map.read_only_view
. Оно вернет вам оболочку, которая будет иметь тот же интерфейс, что и коллекция внутри, но без возможности модифицировать данную коллекцию.
Когда использовать
Эта реализация лучше подходит для сильно разнородных значений. В случае высокого значения избыточности хэшей или большого количества данных предпочтение отдается реализации дерева, такой как TreeSet .
Set Example
Sets are unordered and do not contain duplicate elements.
Compile and Run
Content:
Properties:
public EqualDataFunc<G> equal_func { get; }The elements' equality testing function.
public HashDataFunc<G> hash_func { get; }The elements' hash function.
Creation methods:
public HashSet (owned HashDataFunc<G>? hash_func = null, owned EqualDataFunc<G>? equal_func = null) Constructs a new, empty hash set.
Methods:
public override bool @foreach (ForallFunc<G> f)
public override void clear ()
Полный список коллекций см здесь.
Last updated