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
   176   177   178   179   180   181   182   183   184   185   186