Sobes.tech
Junior

Java'daki Map koleksiyonu ve özellikleri hakkında bilgi veriniz.

sobes.tech yapay zeka

AI'dan gelen yanıt

Map — Java Collection Framework içinde bir arayüzdür ve "anahtar-değer" çiftlerinden oluşan bir koleksiyonu temsil eder. Anahtarlar benzersizdir, değerler ise tekrar edebilir.

Ana özellikler:

  • Anahtar, karşılık gelen değere erişmek için kullanılır.
  • Aynı anahtar iki kez eklenemez. Var olan bir anahtar eklenmeye çalışıldığında, eski değer yeni ile değiştirilir.
  • Map, Collection arayüzünden kalıtım almaz. "Anahtar-değer" çiftleriyle çalışmak için kendi metodlarına sahiptir.
  • "Anahtar-değer" çiftlerinin sırası, belirli uygulamaya bağlı olarak değişebilir.

Popüler Map uygulamaları:

  • HashMap: Öğelerin sırasını garanti etmez. Çatışma olmadan çoğu işlemde (ekleme, alma, silme) yüksek performans sağlar.
  • LinkedHashMap: Öğeleri eklenme sırasına göre tutar (veya erişim sırasına göre, uygun şekilde yapılandırılmışsa).
  • TreeMap: Öğeleri anahtarına göre sıralı şekilde tutar (doğal sıralama veya karşılaştırıcı tarafından sağlanan). Çoğu işlem için logaritmik zaman sağlar.

Yöntem örnekleri:

// Anahtar ile değer al
Object value = map.get(key);

// Anahtar-değer çifti ekle veya güncelle
Object oldValue = map.put(key, value);

// Anahtar ile çifti sil
Object removedValue = map.remove(key);

// Anahtarın var olup olmadığını kontrol et
boolean containsKey = map.containsKey(key);

// Değerin var olup olmadığını kontrol et
boolean containsValue = map.containsValue(value);

// Tüm anahtarların kümesini al
Set<KeyType> keys = map.keySet();

// Tüm değerlerin koleksiyonunu al
Collection<ValueType> values = map.values();

// Tüm girişleri (anahtar-değer çiftleri) al
Set<Map.Entry<KeyType, ValueType>> entries = map.entrySet();

// Map'in boyutunu al
int size = map.size();

Map.Entry kullanımı ve yineleme:

// Entry set üzerinde yineleme
for (Map.Entry<KeyType, ValueType> entry : map.entrySet()) {
    KeyType key = entry.getKey();
    ValueType value = entry.getValue();
    // ...
}