Junior
Ispričajte o kolekciji Map u Javi i njenim osobinama.
sobes.tech АИ
Одговор од АИ
Map — интерфейс у Java Collection Framework, који представља колекцију парова "кључ-вредност". Кључеви су јединствени, а вредности могу бити понављане.
Главне особине:
- Кључ се користи за приступ одговарајућој вредности.
- Исти кључ не може бити додат двапут. Покушај додавања постојећег кључа замењује стару вредност новом.
Mapне наследи од интерфејсаCollection. Има своје методе за рад са паровима "кључ-вредност".- Поредак парова "кључ-вредност" може варирати у зависности од конкретне имплементације.
Популарне имплементације Map:
HashMap: Не гарантује редослед елемената. Обезбеђује висок перформанс за већину операција (увоз, добијање, брисање) у одсуству сукоба хешева.LinkedHashMap: Чува елементе у реду њиховог додавања (или у реду приступа, ако је одговарајуће конфигурисано).TreeMap: Чува елементе у сортираном реду по кључу (природни ред или пружени од стране компаратора). Обезбеђује логаритамско време за већину операција.
Примери метода:
// Добити вредност по кључу
Object value = map.get(key);
// Додати или ажурирати пар кључ-вредност
Object oldValue = map.put(key, value);
// Уклонити пар по кључу
Object removedValue = map.remove(key);
// Проверити да ли кључ постоји
boolean containsKey = map.containsKey(key);
// Проверити да ли вредност постоји
boolean containsValue = map.containsValue(value);
// Добити скуп свих кључева
Set<KeyType> keys = map.keySet();
// Добити колекцију свих вредности
Collection<ValueType> values = map.values();
// Добити скуп свих улаза (пара кључ-вредност)
Set<Map.Entry<KeyType, ValueType>> entries = map.entrySet();
// Добити величину Map
int size = map.size();
Користећи Map.Entry током итерације:
// Итерација преко Entry сета
for (Map.Entry<KeyType, ValueType> entry : map.entrySet()) {
KeyType key = entry.getKey();
ValueType value = entry.getValue();
// ...
}