HashMap<K,V>
Last updated
Last updated
Реализация: Iterable<Entry<K,V>>, Map<K,V>
Реализация хеш-таблицы интерфейса Map .
Реализует связи 1 к 1 по ключу типа К к элементам типа V. Отображение делается по хэшу для каждого ключа, что может быть настроено через передачу указателей на функции хэширования и проверку равенства ключей.
Вы можете передать собственную функцию хэширования и проверки равентсва конструктору, например:
Для строк и целых чисел хэш и функции проверки равенства подставляются автоматически, объекты различаются по их ссылкам по умолчанию. Вы должны передавать пользовательские функции хэширования и проверки равенства если хотите изменить стандартное поведение.
Эта реализация лучше подходит для сильно разнородных ключевых значений. В случае избыточности хеш-ключей или большого объема данных предпочтение отдается использованию дерева, например TreeMap .
Maps work like a dictionary. They store key - value pairs.
public EqualDataFunc<K> key_equal_func { get; } The keys' equality testing function.
public HashDataFunc<K> key_hash_func { get; } The keys' hash function.
public EqualDataFunc<V> value_equal_func { get; } The values' equality testing function.
public override Collection<V> values { owned get; } The read-only view of the values of this map.
public HashMap (owned HashDataFunc<K>? key_hash_func = null, owned EqualDataFunc<K>? key_equal_func = null, owned EqualDataFunc<V>? value_equal_func = null) Constructs a new, empty hash map.
public override void clear () Removes all items from this collection. Must not be called on read-only collections.
public override MapIterator<K,V> map_iterator () Returns an iterator for this map.
Полный список коллекций см здесь.