Page 178 - 6253
P. 178

LinkedHashMap(int довжина)                    Створює хеш- карту визначеної довжини

            LinkedHashMap(int                   довжина,   Створює  хеш-карту  визначеної  довжини  та  встановлює
            float коефЗаповнення)                         коефіцієнт заповнення


            LinkedHashMap(int                   довжина,   Створює  хеш-карту  визначеної  довжини,  встановлює
            float                        коефЗаповнення,   коефіцієнт  заповнення  та  визначає  порядок  розміщення
            boolean порядок)                              елементів



                  Остання форма конструктора дозволяє задати, в якому порядку у карті будуть

            розташовуватись елементи. Якщо параметр порядок має значення true, то елементи

            розташовуються  в  порядку  доступу  до  них,  якщо  значення  false  –  в  порядку  їх

            додавання до карти.


                  У  Класі  LinkedHashMap  визначено  тільки  один  власний  метод,  який  має
            наступну сигнатуру:


            protected boolean removeEldestEntry(Map.Entry <K, V> e)

                  Цей  метод  викликається  із  методів  put()  та  putAll().  По  замовчуванню  він

            повертає  значення  false.  Проте,  для  видалення  найстарішого  елементу  карти  він

            повинен повертати значення true, для чого його потрібно перевизначити. Розглянемо

            приклад  використання  класу  LinkedHashMap  в  якому  перевизначається  метод


            removeEldestEntry().
                  import java.util.LinkedHashMap ;


                  import java.util.Map;
                  import java.util.Set;




                  public class Main {

                      public static void main (String args[]) {



                          // Створення карти-дерева

                          LinkedHashMap<String, String> cars = new LinkedHashMap<String, String>(5, 0.75f, true) {

                               protected boolean removeEldestEntry(Map.Entry eldest) {

                                   return size() > 5;

                               }

                          };



                                                              177
   173   174   175   176   177   178   179   180   181   182   183