Java’da diziler esnek olmayan bir yapıdadır. Dizileri genişletmek yada daraltmak mümkün olmayan sınırlılıklar getirir. Bu yazıda diziler gibi çalışan daha esnek yapıya sahip olan ArrayList oluşturmayı ve bir kaç işlevsel örneği göstereceğiz.
İlk olarak ArrayList nedir sorusuna cevap verelim.
Java’da ArrayList Nedir?
Java’da ArrayList util paketine ait olan bir koleksiyon çerçevesidir. Yani ArrayList kullanmak isterseniz bu paketi dahil (import) etmeniz gerekir.
Bize Java’da dinamik diziler sağlar. Bununla birlikte, standart dizilerden daha yavaş olabilir, ancak dizide çok sayıda düzenlemenin gerekli olduğu programlarda yardımcı olabilir. Bu sınıf, java.util paketinde bulunur. ArrayList’in başlıca avantajları, eğer bir diziyi bildirirsek, o zaman boyuttan bahsedebiliriz, ancak ArrayList’te, boyuttan bahsetmeye gerek olacak bir durum yoktur.
Özetle: ArrayList sınıfı, java.util paketinde bulunabilen yeniden boyutlandırılabilir bir dizidir.
Java’da ArrayList Nasıl Oluşturulur?
ArrayList oluşturmak için aşağıdaki söz dizimine bakalım.
1 2 3 | ArrayList<VeriTipi> degiskenAdi= new ArrayList<VeriTipi>(); |
Yukarıdaki gibi söz dizimini kullanarak öğrenci notlarını kaydettiğimiz bir örnek kodu inceleyelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import java.util.ArrayList; // ArrayList kütüphanesi class Main { public static void main(String arg[]) { ArrayList<Integer> ogrenciNotlari = new ArrayList<Integer>(); ///ArrayList oluşturma //ArrayList'e değer ekleme ogrenciNotlari.add(75); ogrenciNotlari.add(35); ogrenciNotlari.add(40); ogrenciNotlari.add(100); ogrenciNotlari.add(68); //ArrayListi yazdırma System.out.println(ogrenciNotlari); } } |
Çıktı:
1 2 3 | [75, 35, 40, 100, 68] |
Java ArrayList Örnekleri
Java’da ArrayList oluşturmayı gördük. Şimdi ArrayList ile bir kaç örnek işlem yapalım.
Örnek: ArrayListte bulunan öğelerin sayısı öğrenme
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import java.util.ArrayList; // ArrayList kütüphanesi class Main { public static void main(String arg[]) { ArrayList<Integer> ogrenciNotlari = new ArrayList<Integer>(); ///ArrayList oluşturma //ArrayList'e değer ekleme ogrenciNotlari.add(75); ogrenciNotlari.add(35); ogrenciNotlari.add(40); ogrenciNotlari.add(100); ogrenciNotlari.add(68); int elemanSayisi = ogrenciNotlari.size(); System.out.println("Toplam Öğe Sayısı: "+ elemanSayisi); } } |
Çıktı:
1 2 3 | Toplam Öğe Sayısı: 5 |
Örnek: 3.sıradaki öğeyi yazdırma(index numaraları 0dan başlar)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import java.util.ArrayList; // ArrayList kütüphanesi class Main { public static void main(String arg[]) { ArrayList<Integer> notlar = new ArrayList<Integer>(); ///ArrayList oluşturma //ArrayList'e değer ekleme notlar.add(75); notlar.add(35); notlar.add(40); notlar.add(100); notlar.add(68); System.out.println(notlar.get(2)); } } |
Çıktı:
1 2 3 | 40 |
Örnek: ArrayList öğelerini for döngüsü ile yazdırma (1.yöntem for)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import java.util.ArrayList; // ArrayList kütüphanesi class Main { public static void main(String arg[]) { ArrayList<Integer> notlar = new ArrayList<Integer>(); ///ArrayList oluşturma //ArrayList'e değer ekleme notlar.add(75); notlar.add(35); notlar.add(40); notlar.add(100); notlar.add(68); for(int i=0; i<notlar.size();i++){ System.out.println( notlar.get(i) ); } } } |
Çıktı:
1 2 3 4 5 6 7 | 75 35 40 100 68 |
Örnek: ArrayList öğelerini for döngüsü ile yazdırma (1.yöntem foreach)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import java.util.ArrayList; // ArrayList kütüphanesi class Main { public static void main(String arg[]) { ArrayList<Integer> notlar = new ArrayList<Integer>(); ///ArrayList oluşturma //ArrayList'e değer ekleme notlar.add(75); notlar.add(35); notlar.add(40); notlar.add(100); notlar.add(68); for(int not:notlar){ System.out.println( not ); } } } |
Çıktı:
1 2 3 4 5 6 7 | 75 35 40 100 68 |
Örnek: ArrayList içinde aranan değerin olup olmadığını bulma
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | import java.util.ArrayList; // ArrayList kütüphanesi class Main { public static void main(String arg[]) { ArrayList<String> isimler = new ArrayList<String>(); ///ArrayList oluşturma //ArrayList'e değer ekleme isimler.add("Ahmet"); isimler.add("Hayri"); isimler.add("Ufuk"); isimler.add("Hüseyin"); isimler.add("Recep"); String aranan ="Ufuk"; Boolean durum = isimler.contains(aranan); if(durum){ System.out.println(aranan + " ismi listede var."); }else{ System.out.println(aranan +" isim listede yok."); } } } |
Çıktı:
1 2 3 | Ufuk ismi listede var. |
Örnek: ArrayList içinde aranan öğenin kaçıncı sırada olduğunu yazdırma
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | import java.util.ArrayList; // ArrayList kütüphanesi class Main { public static void main(String arg[]) { ArrayList<String> isimler = new ArrayList<String>(); ///ArrayList oluşturma //ArrayList'e değer ekleme isimler.add("Ahmet"); isimler.add("Hayri"); isimler.add("Ufuk"); isimler.add("Hüseyin"); isimler.add("Recep"); String aranan ="Ufuk"; Boolean durum = isimler.contains(aranan); if(durum){ int sira = isimler.indexOf(aranan); System.out.println(aranan + " ismi listenin "+sira+ " sırasında var."); }else{ System.out.println(aranan +" isim listede yok."); } } } |
Çıktı:
1 2 3 | Ufuk ismi listenin 2 sırasında var. |
Örnek: ArrayListten öğe silme
Not: Referans tiplerden doğrundan silme işlemi gerçekleştirken temel tiplerde index numaralarını kullanarak silmeniz gerekir.
Yöntem 1: (Referans tip)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | import java.util.ArrayList; // ArrayList kütüphanesi class Main { public static void main(String arg[]) { ArrayList<String> isimler = new ArrayList<String>(); ///ArrayList oluşturma //ArrayList'e değer ekleme isimler.add("Ahmet"); isimler.add("Hayri"); isimler.add("Ufuk"); isimler.add("Hüseyin"); isimler.add("Recep"); String aranan ="Ufuk"; Boolean durum = isimler.contains(aranan); if(durum){ isimler.remove(aranan); }else{ System.out.println(aranan +" isim listede yok."); } System.out.println(isimler); } } |
Yöntem 2:( Tüm tipler)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import java.util.ArrayList; // ArrayList kütüphanesi class Main { public static void main(String arg[]) { ArrayList<String> isimler = new ArrayList<String>(); ///ArrayList oluşturma //ArrayList'e değer ekleme isimler.add("Ahmet"); isimler.add("Hayri"); isimler.add("Ufuk"); isimler.add("Hüseyin"); isimler.add("Recep"); String aranan ="Ufuk"; Boolean durum = isimler.contains(aranan); if(durum){ int sira = isimler.indexOf(aranan); isimler.remove(sira); }else{ System.out.println(aranan +" isim listede yok."); } System.out.println(isimler); } } |
Çıktı:
1 2 3 | [Ahmet, Hayri, Hüseyin, Recep] |
