Java’da ArrayList nedir?
ArrayList, eleman eklendiğinde büyüyen eleman çıkarıldığında küçülen ve kendi içinde işlem yapmak için özel metot ve özelliklere sahip bir yapıdır. Elementlerin dinamik davranışlarının ele alınmasında yararlı olan çok önemli bir veri yapısı olarak da ifade edilebilir.
Java’da Array ile ArrayList arasındaki farkı açıklamak için şu örneği kullanabiliriz.
Bir ip ile lastik bir bant düşünelim. Lastik bantın yapısı gergin olmadığında küçük olmasına rağmen, bantı çektikçe uzamaktadır. ArrayList’de lastik bant gibi içine değer aktarıldığında büyümekte içerisinden değer çıkarıldığında küçülmektedir. Diziyi ip olarak düşünürsek ipin uzunluğu sabit olduğu için her hangi bir büyüme ve küçülme söz konusu değildir.
Eklemek istediğin elemanları kaydettiğinde büyür, çıkardığında küçülür. Teknik olarak ArrayList dinamik bir dizi veya değişken uzunluklu bir dizi gibidir.
Aşağıdaki gibi tanımlama yaparak kullanabilirsiniz. Type değeri bir nesne olabileceği gibi bir veri türü de olabilir.
1 2 3 | ArrayList<Type> listeAd = new ArrayList<Type>(); |
Java ArrayList Metotları
ArrayList add: ArrayList nesnesine yeni bir öge eklemek için kullanılır.
Örnek: Sayılar listesi oluşturup içine 3 tane sayı ekleyip, eklenen sayıları ekrana yazdırın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | //import java.util.ArrayList; ArrayList<Integer> sayilar=new ArrayList<Integer>(); sayilar.add(12); sayilar.add(5); sayilar.add(45); for(int sayi:sayilar) { System.out.println(sayi); } |
Örnek 2: Ogrenci adında bir nesne oluşturup ArrayList içine ekleme örneği yapın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | class Ogrenci{ String ad; String soyad; Ogrenci(String ad,String soyad) { this.ad=ad; this.soyad=soyad; } public String AdSoyad() { return ad+" "+soyad; } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | public static void main(String[] args) { Ogrenci ogr1=new Ogrenci("Hayri","KOÇ"); Ogrenci ogr2=new Ogrenci("Ahmet","Can"); ArrayList<Ogrenci> liste=new ArrayList<Ogrenci>(); liste.add(ogr1); liste.add(ogr2); for(Ogrenci ogrenci:liste) { System.out.println(ogrenci.AdSoyad()); } } |
ArrayList remove: ArrayList listesinde belirtilen indexli elemanı yada belirtilen nesneyi siler. Referans tiplerde nesne, değer tiplerinde index değeri ile silme işlemi yapar.
Örnek: Değer tipinde 3. sıradaki değeri kaldırıyor.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | ArrayList<Integer> sayilar=new ArrayList<Integer>(); sayilar.add(12); sayilar.add(5); sayilar.add(45); sayilar.remove(2); //45 değeri kaldırılacaktır. for(int sayi:sayilar) { System.out.println(sayi); } |
Örnek 2: ogr1 nesnesini listeden kaldırıyor. (referans tipindeki değeri kaldı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 30 31 32 33 34 35 | //Ogrenci class class Ogrenci{ String ad; String soyad; Ogrenci(String ad,String soyad) { this.ad=ad; this.soyad=soyad; } public String AdSoyad() { return ad+" "+soyad; } } //main metotunun için Ogrenci ogr1=new Ogrenci("Hayri","KOÇ"); Ogrenci ogr2=new Ogrenci("Ahmet","Can"); ArrayList<Ogrenci> liste=new ArrayList<Ogrenci>(); liste.add(ogr1); liste.add(ogr2); liste.remove(ogr1); for(Ogrenci ogrenci:liste) { System.out.println(ogrenci.AdSoyad()); } |
ArrayList contains: Belirtilen nesne ArrayList içinde varsa true değeri döndürür.
1 2 3 4 5 6 7 8 9 10 11 | ArrayList<Integer> sayilar=new ArrayList<Integer>(); sayilar.add(12); sayilar.add(5); sayilar.add(45); boolean durum=sayilar.contains(12); if(durum) System.out.println("sayıların içinde 12 değeri vardır."); |
ArrayList size: ArrayList içindeki eleman sayısı döndürür.
1 2 3 4 5 6 7 8 9 | ArrayList<Integer> sayilar=new ArrayList<Integer>(); sayilar.add(12); sayilar.add(5); sayilar.add(45); System.out.println("Toplam eleman sayısı:"+sayilar.size()); |
ArrayList clear: ArrayList nesnesini boşaltır.
1 2 3 4 5 6 7 8 9 10 11 | ArrayList<Integer> sayilar=new ArrayList<Integer>(); sayilar.add(12); sayilar.add(5); sayilar.add(45); sayilar.clear(); System.out.println("Toplam eleman sayısı:"+sayilar.size()); |
Add Comment