Java ile Map Arayüzü ve Hashmap kullanımı
Herkese merhabalar, bu yazımızda sizlerle java programlama dilinde java.util tarafından sağlanan ve Collectionlar gibi davranan Map yapısı hakkında konuşacağız ve örnekler yapacağız.İlk olarak Java Map nedir?
Java collections sınıfı içerisinde bulunan, Map arayüzü oluşturulan koleksiyonlarda anahtar-değer ilişkisi kurmaya olanak tanır. Bu sayede koleksiyon içerisindeki verilere belirlenen anahtar değerleri ile erişerek gerekli işlemler yapılabilir.
Map bir interface yapısı olduğu için direk olarak initialize edilemez ve Hashmap gibi türetilmiş sınıflar aracılığı ile kullanılabilir.
Map tanımlarken ilk olarak bir Map arayüzü oluşturuyoruz ve içerisine anahtar ve değerlerin veri tiplerini beirtiyoruz. Ardından Map arayüzünü hangi tip koleksiyon sınıfı ile kullanacaksak o sınıf ile başlatıyoruz.
Map<Integer, String> map = new HashMap<>();
Sonrasında başlatılan sınıfı kullanarak oluşturduğumuz koleksiyonun içerisine anahtar değer çiftlerini ekliyoruz.
map.put(0, "Burak");
map.put(1, "Hamdi");
map.put(2, "TUFAN");
Şimdi Map arayüzü ve Hashmap sınıfı ile ilgili basit bir örnek yapalım.
import java.util.HashMap;
import java.util.Map;
public class MapInterfaceExample {
public static void main(String[] args) {
printMap();
}
public static void printMap(){
Map<Integer, String> map = new HashMap<>();
map.put(0, "Burak");
map.put(1, "Hamdi");
map.put(2, "TUFAN");
System.out.println(map);
for (int i=0; i<map.size(); i++) {
System.out.println(i + " : " + map.get(i));
}
}
}
Program çıktısı aşağıdaki gibi olacaktır:
{0=Burak, 1=Hamdi, 2=TUFAN}
0 : Burak
1 : Hamdi
2 : TUFAN
Aşağıdaki kod bloğunda bir verinin naısl güncellendiğini görmekteyiz. Görüldüğü üzere eklemede kullanılan put metodu ile, önceden eklenen indeks değeri kullanarak veri güncelleme işlemini gerçekleştiriyoruz.
import java.util.*;
public class Main
{
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(0, "Burak");
map.put(1, "Hamdi");
map.put(2, "TUFAN");
System.out.println(map);
map.put(0, "The");
map.put(1, "Code");
map.put(2, "Program");
System.out.println(map);
}
}
Program çıktısı aşağıdaki gibi olacaktır :
{0=Burak, 1=Hamdi, 2=TUFAN}
{0=The, 1=Code, 2=Program}
Bir hashmap içerisinden elemanı kaldırmak için ise remove metodunu kullanıyoruz. remove metodu içerisine silmek istediğimiz elemanın key değerini gönderiyoruz ve silme işlemini gerçekleştiriyoruz.
import java.util.*;
public class Main
{
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(0, "Burak");
map.put(1, "Hamdi");
map.put(2, "TUFAN");
for(int i=map.size()-1; i>=0; i--){
System.out.println(map);
map.remove(i);
}
}
}
Program Çıktısı aşağıdaki gibi olacaktır:
{0=Burak, 1=Hamdi, 2=TUFAN}
{0=Burak, 1=Hamdi}
{0=Burak}
Eğer bir Map koleksiyonunun içerisinde bulunan elemanların key ve değerlini almak istiyorsak for döngüsü içerisinde elemanlar için getKey() ve getValues() metodlarını kullanabilmekteyiz.
import java.util.*;
public class Main
{
public static void main(String[] args) {
Map<Integer, String> map = new HashMap<>();
map.put(0, "Burak");
map.put(1, "Hamdi");
map.put(2, "TUFAN");
for (Map.Entry mapEleman : map.entrySet()){
System.out.println(mapEleman.getKey() + " : " + mapEleman.getValue());
}
}
}
Program Çıktısı aşağıdaki gibi olacaktır:
0 : Burak
1 : Hamdi
2 : TUFAN
Bu yazımızda buraya kadar.
İyi çalışmalar dilerim.
Burak Hamdi TUFAN
Comments