Метод цепочек, HashMap

289
16 мая 2017, 02:47

Как реализовать "метод цепочек"?

Метод цепочек

Разрешение коллизий при помощи цепочек. Каждая ячейка массива H является указателем на связный список (цепочку) пар ключ-значение, соответствующих одному и тому же хеш-значению ключа. Коллизии просто приводят к тому, что появляются цепочки длиной более одного элемента.

Операции поиска или удаления элемента требуют просмотра всех элементов соответствующей ему цепочки, чтобы найти в ней элемент с заданным ключом. Для добавления элемента нужно добавить элемент в конец или начало соответствующего списка, и, в случае, если коэффициент заполнения станет слишком велик, увеличить размер массива H и перестроить таблицу.

При предположении, что каждый элемент может попасть в любую позицию таблицы H с равной вероятностью и независимо от того, куда попал любой другой элемент, среднее время работы операции поиска элемента составляет Θ(1 + α), где α — коэффициент заполнения таблицы.

import java.util.Map;
import java.util.HashMap;
public class hashmap {
    public static void main(String[] args) {
        Map<String, String> hashmap = new HashMap<String, String>();
        hashmap.put("key1", "value1");
        hashmap.put("key1", "value2");
    }
}
Answer 1

Вероятно вы хотите сделать свою реализацию HashMap в библиотечной HashMap уже и так все работает. Вот серия видео где подробно разбирается процесс создания простой HashMap во всех подробностях : Создание HashMap часть 1

READ ALSO
Fragment и метод

Fragment и метод

Почему не работает Метод vMoney(); В методе onViewCreate, Хотя в обработке нажатия,все нормально и все работает?

431
Получить день недели по дате

Получить день недели по дате

Как узнать день недели по дате? Есть такой код:

352
Запись и сохранение массива в файл [требует правки]

Запись и сохранение массива в файл [требует правки]

Мне дали задание: реализовать функцию записи и считывания массива из файлаЕсли файла нет, то его нужно создать

280
Как сделать разделитель на экране?

Как сделать разделитель на экране?

Есть 2 Layout,надо их разделить вертикальной чертойКак эту черту сделать ?

390