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