Как удалить и получить доступ к элементам ConcurrentHashMap в Java?

Kak Udalit I Polucit Dostup K Elementam Concurrenthashmap V Java



ConcurrentHashMap ” — это расширенная версия традиционного HashMap. Это дает программисту множество преимуществ, таких как экономия времени, простота и гибкость. Он может одновременно выполнять несколько задач, однако для нескольких обновлений стоимости узлов одновременно выполняется только одно обновление.

В этой статье демонстрируется процедура удаления и доступа к элементам ConcurrentHashMap в Java.

Как удалить элементы ConcurrentHashMap в Java?

Конкретные элементы могут быть удалены из « ConcurrentHashMap ” элементы через “ удалять() метод. Чтобы удалить сразу все элементы, нажмите « прозрачный() метод является лучшим вариантом для выбора.







Есть также два варианта метода «remove()»:



  • удалить (ключ) ” удаляет сущность, имеющую указанный “ ключ » из «ConcurrentHashMap».
  • удалить (ключ, значение) ” удаляет сущность, которая указала “ ключ ” по соответствующему ” ценить » из «ConcurrentHashMap».

Посетите приведенный ниже блок кода для лучшего объяснения:



Импортировать java.util.concurrent.ConcurrentHashMap ;
сорт Корень
{
общественный статический пустота основной ( Нить [ ] аргументы ) //создание метода main()
{ // Объявление ConcurrentHashMap
Команда ConcurrentHashMap '=' новый ConcurrentHashMap ( ) ;
Команда. помещать ( 'Тор' , 2 ) ;
Команда. помещать ( 'Странный' , 4 ) ;
Команда. помещать ( 'Соколиный глаз' , 6 ) ;
Система . вне . печать ( 'ConcurrentHashMap:' + Команда ) ;

инт ценить '=' Команда. удалять ( 'Странный' ) ;
Система . вне . печать ( 'Значение ' + ценить + ' удален' ) ;
Система . вне . печать ( 'ConcurrentHashMap:' + Команда ) ;

логический результат '=' Команда. удалять ( 'Соколиный глаз' , 6 ) ;
Система . вне . печать ( 'Запись {Hawkeye = 6} удалена?' + результат ) ;
Система . вне . печать ( «Обновлено ConcurrentHashMap:» + Команда ) ;

Команда. прозрачный ( ) ;
Система . вне . печать ( «Обновлено ConcurrentHashMap:» + Команда ) ;

}
}

Описание приведенного выше блока кода:





  • Во-первых, «ConcurrentHashMap» с именем « Команда », а затем в него вставляются фиктивные данные с помощью « помещать метод.
  • Далее « удалять() ”, а клавиша “ Странный ” передается ему. Этот метод удаляет с карты сущность, имеющую ключ «Странный».
  • Кроме того, отображать остальные элементы карты через «ConcurrentHashMap».
  • Теперь передайте « ключ ” и соответствующий “ ценить ” к “ удалять() », чтобы удалить сущность из «ConcurrentHashMap», которая имеет определенный ключ и значение.
  • После этого отобразите «ConcurrentHashMap», чтобы визуально увидеть разницу.
  • В конце используйте « прозрачный() », чтобы удалить все находящиеся внутри «ConcurrentHashMap» элементы. Кроме того, в конце отобразите «ConcurrentHashMap» на консоли.

После окончания этапа компиляции:



Снимок показывает элементы, которые были удалены из ConcurrentHashMap.

Как получить доступ к элементам ConcurrentHashMap в Java?

Элементы « ConcurrentHashMap ” можно получить, используя несколько групп методов. К первой группе относятся « записьНабор() », « набор ключей() ' и ' ценности() методы. Они используются для одновременного извлечения всех элементов. Используя описанные выше методы, программист может получить все « ключи », « ценности ' или оба ' ключ/значение » отображение карты.

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

Импортировать java.util.concurrent.ConcurrentHashMap ;

сорт Основной {
общественный статический пустота основной ( Нить [ ] аргументы ) //создание метода main()
{ // Объявление ConcurrentHashMap
Команда ConcurrentHashMap '=' новый ConcurrentHashMap ( ) ;
Команда. помещать ( 'Тор' , 2 ) ;
Команда. помещать ( 'Странный' , 4 ) ;
Команда. помещать ( 'Соколиный глаз' , 6 ) ;
Команда. помещать ( 'Черная пантера' , 8 ) ;
Система . вне . печать ( 'ConcurrentHashMap:' + Команда ) ;
Система . вне . печать ( «Получить ключ и значения:» + Команда. записьНабор ( ) ) ;
Система . вне . печать ( 'Получить ключи:' + Команда. набор ключей ( ) ) ;
Система . вне . печать ( 'Получить значения:' + Команда. ценности ( ) ) ;
}
}

Описание приведенного выше блока кода:

  • Сначала создайте «ConcurrentHashMap» с именем « Команда ' и вставьте в него несколько элементов с помощью ' помещать() метод.
  • Затем отобразите «ConcurrentHashMap» на консоли, используя « выход.println() метод.
  • Затем используйте « записьНабор() ” для получения всех данных, присутствующих на карте.
  • После этого используйте « набор ключей() ” для получения только ключей с карты.
  • В конце используйте « ценности() ” для получения только значений, связанных с каждым ключом. Это возвращает только значения в последовательности.

После выполнения вышеуказанного кода:

В приведенном выше снимке выходные данные использованных выше методов отображаются на консоли. И разные цветные границы используются для создания визуального разделения между выходными данными каждого метода.

Теперь во вторую группу входят « получать() ' и ' получить или по умолчанию () методы. Эти методы используются для получения « ключи ' из ' ConcurrentHashMap ». Например, посетите приведенный ниже блок кода:

Импортировать java.util.concurrent.ConcurrentHashMap ;
сорт Основной {
публичный статический пустота основной ( Нить [ ] аргументы ) //создание метода main()
{ // Объявление ConcurrentHashMap
Команда ConcurrentHashMap '=' новый ConcurrentHashMap ( ) ;
Команда. помещать ( 'Тор' , 2 ) ;
Команда. помещать ( 'Странный' , 4 ) ;
Команда. помещать ( 'Соколиный глаз' , 6 ) ;
Команда. помещать ( 'Черная пантера' , 8 ) ;
Система . вне . печать ( 'Использование getOrDefault(): ' + значение2 ) ;

инт значение1 '=' Команда. получать ( 'Соколиный глаз' ) ;
Система . вне . печать ( «Полученный ключ для указанного значения:» + значение1 ) ;
инт значение2 '=' Команда. getOrDefault ( 'Романофф' , 10 ) ;
Система . вне . печать ( 'ConcurrentHashMap:' + Команда ) ;
}
}

Объяснение приведенного выше кода:

  • Используйте тот же « ConcurrentHashMap », который создается в приведенном выше блоке кода.
  • Кроме того, применяется « получать() ” и передайте значение, ключ которого будет получен в скобках.
  • Более того, используя « получить или по умолчанию () », который принимает два параметра/значения, значение и ключ по умолчанию. Если указанный объект находится внутри карты, то извлекается соответствующий ключ. И если указанное значение не найдено, то используется ключ по умолчанию.
  • После этого сохраните результаты обоих методов в переменных и отобразите их на консоли для наглядности.

После выполнения вышеуказанного блока кода:

Приведенный выше снимок отображает ключи относительно значений, извлеченных и напечатанных на консоли.

Заключение

Чтобы удалить/удалить определенные элементы из « ConcurrentHashMap ' удалять() можно использовать метод. Используя его, программист может удалить элемент, который имеет определенный « ключ ” или соответствующий “ ценить ». С помощью « прозрачный() », каждый элемент, находящийся на карте, сразу удаляется. Для доступа « записьНабор() », « набор ключей() ' и ' ценности() используются методы. Они могут получить все « ключи/значения », « ключи ', и ' ценности ' из ' ConcurrentHashMap ' однажды. Чтобы получить только определенные ключи, « получать ' и ' getOrDefault используются методы.