Это продолжение моего поста о 100 днях кодирования, посвященного второму дню.

Чтобы прочитать полный пост Дня 2, используйте эту ссылку.

Итак, для начала краткое изложение того, что я узнал:

  1. Получение значений.
  2. Помещение значений в хэш-карту.
  3. Итерация по хэш-карте.
  4. Удаление значений из хэш-карты.
  5. Использование другого класса в хэш-карте.
  6. Условие Fail Fast: исключение одновременной модификации

___________________________________________________________________

Введение:

  1. Hashmap расширяет класс абстрактной карты.
  2. Он реализует интерфейс карты.
  3. Он использует пары ключ-значение.
  4. Он может содержать только уникальные элементы.
  5. В хэш-картах разрешен только один нулевой ключ, тогда как может существовать несколько нулевых значений.
  6. Синтаксис:

HashMap ‹ Integer,String›map = new HashMap‹Integer,String›();

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Ввод значений в Hashmap:
map.put(1,"A");

map.put(2,"B");

map.put(3,"C");

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Извлечение значений в HashMap:

карта.получить(1)

O/P : A

карта.получить(4)

О/П: ноль

Здесь, если ключ не существует, он не покажет исключение. Вместо этого он вернет нулевое значение.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Чтобы перебрать хэш-карту:

for(Запись m: map.entrySet())

{

System.out.println(m.getKey()+" "+m.getValue());

}

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Чтобы удалить пару из Hashmap:

карта.удалить(2)

System.out.println(карта);

O/P: {1=”A”,3=”C”}

Порядок не меняется и остается неизменным.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Использование другого класса в Hashmap:

Рассмотрим класс под названием Student :

Он имеет, скажем, 2 параметра, имя и возраст.

Итак, когда вы создаете Hashmap:

HashMap ‹Integer,Student› stu =new HashMap‹Integer,Student›();

Студент s1 = новый Студент («Аади», 21);

Студент s2 = новый Студент («Нил», 24);

и так далее.

Чтобы поместить элементы в Hashmap:

stu.put(1,s1);

stu.put(2,s2);

Чтобы повторить хэш-карту:
for (Entry m: stu.entrySet())

{

int s = m.getKey();

Студент s =m.getValue();

System.out.println("Информация о студенте: "+s);

System.out.println(s.name+” ”+s.age);

}

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

HashMaps не синхронизированы. Это означает, что несколько потоков могут получать доступ, использовать и изменять одну и ту же хэш-карту. Поэтому он используется в многопоточности. Это повышает эффективность.

В чем проблема?

Рассмотрим пять потоков, скажем, A, B, C, D и E, обращающихся к одному и тому же хэш-карте.

Эта хэш-карта содержит пару ключ-значение: (1, "neet").

Предположим, что один поток, скажем, A, обновляет значение ключа =1 на «Boat», и теперь C хочет получить доступ к этим данным. Он получит обновленную версию, содержащую значение «Boat», а не «neet».

Это называется условием Fail Fast. Это также называется исключением одновременной модификации, потому что модификация пытается быть выполнена, когда коллекция активна или используется.

___________________________________________________________________

Вот и все! Я надеюсь, что это было полезно, и если вы хотите посмотреть видео, просто нажмите на эту ссылку.

Счастливого обучения :)

___________________________________________________________________

Похлопайте, чтобы у меня было достаточно мотивации, чтобы писать каждый день :D