Page 181 - 6253
P. 181
Оскільки клас K повинен розширювати клас Enum <K>, то вимагається, щоб
ключі, які асоціюються із значеннями мали тип enum. У класі EnumMap визначено
конструктори представлені у зведеній табл. 7.10.
Таблиця 7.10 – Конструктори класу EnumMap
Конструктор Опис
EnumMap(Class <K> об’єкт) Створює порожній об'єкт класу EnumMap для елементів
типу об’єкт
EnumMap(Map <K, ? extends V> m) Створює об'єкт класу EnumMap, який ініціалізується
елементами карти m
EnumMap(EnumMap Створює об'єкт класу EnumMap, який ініціалізується
<K, ? extends V> em) елементами карти em
Усі методи доступні із класу EnumMap визначені у класі AbstractMap та
інтерфейсі Map, які він відповідно наслідує та реалізує.
Клас WeakHashMap
Клас WeakHashMap розширює клас AbstractMap і реалізує інтерфейс Map. У
ньому використовуються так звані «слабкі ключі». Це означає, що коли об'єкт ключа
стає слабо-доступним відповідний елемент видаляється із карти. Для роботи із
«слабкими ключами» карта використовує свою внутрішню чергу посилань. Клас
WeakHashMap – це узагальнений клас, який оголошується наступним чином:
class WeakHashMap <K, V>
Нижче приведений приклад використання класу WeakHashMap.
import java.util.WeakHashMap ;
import java.util.Map;
import java.util.Set;
public class Main {
public static void main (String args[]) {
// Створення "слабкої" хеш-карти
WeakHashMap<String, String> cars = new WeakHashMap<String, String>();
180