Java ArrayList Kullanımı ve Örnekleri
Java ArrayList Nedir? Bir önceki Java dersimizde Java’da Collection’lardan kısaca bahsetmiştik. Şimdi List yapısını implement eden bir koleksyion olan ArrayList’den bahsedeceğiz. Java ArrayList kullanımından, java ArrayList metotlarından bahsedeceğiz ve daha sonra konuyu daha iyi anlayabilmek için java ArrayList örnekleri vereceğiz.
Java ArrayList Kullanımı ve Örnekleri
Java ArrayList Nedir?
Java’da ArrayList yapısının kullanımına geçmeden önce yine kısa ArrayList’in ne olduğunu hatırlayalım. ArrayList java programlama dilinde objeleri saklamak için kullanılan bir yapıdır. ArrayList yapısı ile belirsiz sayıda nesneyi bir arada saklayabiliriz, daha sonra kolayca erişebiliriz ve üzerinde kolayca temel bazı işlemleri gerçekleştirebiliriz.
Ancak java programlama dilinde nesne saklamak için diğer başka yapılarda bulunmaktadır. ArrayList’in bunlardan ayırıcı özellikleri nesneleri içerisinde sıralı olarak tutması ve bir nesneden birden fazla bulundurabilmesidir.
Nesne saklamak için bir yapıya ihtiyaç duyduğumuzda bütün java koleksiyonlar arasından kendi yapacağımız işe uygun olanını seçmeliyiz.
Java ArrayList Kullanımı
Java programlama dilinde ArrayList’in ne olduğunu ve kısaca ne işe yaradığını, diğer nesne saklama yapılarından farklarından bahsettikten sonra nihayet java arraylist kullanımına geçebiliriz.
Java’da ArrayList yapısını kullanabilmek için öncelikle ArrayList sınıfından new anahtar kelimesini kullanarak yeni bir obje üretmemiz gerekmekte. Yada aynı işe yarayan işlemi Liste tipini kullanarak da yapabiliriz. 2 farklı yapı için 2 örnek aşağıdaki gibidir.
1 2 3 4 5 6 7 8 9 |
import java.util.*; public class Main { public static void main (String[] args) { // Java Arraylist kullanımı ve örnekleri ArrayList liste = new ArrayList(); List liste2 = new ArrayList(); } } |
Yeni bir obje oluştururken baş tarafta ArrayList kullansak da List kullansak da sonuçta aynı işi yapmış oluruz.
Oluşturduğumuz ArrayList objesinin boyutu belli değildir. Bu istediğimiz kadar obje koyabileceğimiz anlamına gelmektedir. ArrayList üzerinde temel işlemlere bakalım.
ArrayList’e eleman ekleme:
1 2 3 4 5 6 7 8 |
public class Main { public static void main (String[] args) { // Java Arraylist kullanımı ve örnekleri ArrayList liste = new ArrayList(); liste.add("Pubtekno"); liste.add(100); } } |
ArrayList’e eleman eklemek için add() komutunu kullandık. ArrayList oluşturduğumuzda başlangıçta herhangi bir tip belirlemediğimiz için içerisinde herhangi bir veri tipinde obje saklayabiliriz. Ancak aşağıdaki gibi bir yapıda ArrayList üzerinde bu sefer sadece String saklayabiliyor olurduk.
1 2 3 4 5 6 7 8 |
import java.util.*; public class Main { public static void main (String[] args) { // Sadece string saklayabiliriz artık. ArrayList<String> liste = new ArrayList<>(); } } |
Bu şekilde ArrayList yapısını sadece istediğimiz türde objeler saklayabilmesi yönünde manipüle edebiliriz. Şimdi diğer temel işlemlere bakalım.
ArrayList Eleman Silme:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import java.util.*; public class Main { public static void main (String[] args) { ArrayList<String> liste = new ArrayList<>(); String java = "Java"; liste.add(java); liste.add("Dersleri"); liste.add("ArrayList"); System.out.print(liste); liste.remove(java); liste.remove("Dersleri"); System.out.print(liste); } } |
Ekran Çıktısı:
Remove metodu arraylist üzerinde bir objeyi silmek için kullanılmaktadır. Bu örnekte listemize bir String’i hem bir değişken olarak hemde doğrudan ekleyebileceğimizi gördük. Ekran çıktısında listeyi sıralı olarak yazdırdığına dikkat edin. Şimdi diğer java arraylist metotlarına bakalım.
Java ArrayList Metotları
Java ArrayList Metotları | Metot İşlevi | Dönüş Tipi |
---|---|---|
add(Object e) | Yeni bir obje ekler. Eklenirse true eklenemezse false döner | boolean |
add(int index, Object e) | Verilen indise verilen objeyi ekler | void |
get(int index) | Girilen indiste bulunan objeyi döndürür | Object |
set(int index, Object e) | Verilen indise verilen objeyi atar. Objenin kendisini döndürür | Object |
contains(Object o) | Girilen obje liste ArrayList içerisinde var ise true yok ise false döndürür | boolean |
clear() | ArrayList’in bütün elemanlarını siler | void |
addAll(Collection c) | Girilen collection içerisindeki bütün objeleri ArrayList’e ekler. Eklenirse true, eklenemezse false döndürür | boolean |
addAll(int index, Collection c) | i. indisten itibaren collection içerisindeki objeleri ArrayList’e ekler. Eklenirse true, eklenemezse false döndürür | boolean |
isEmpty() | ArrayList boş ise true, dolu ise false döndürür | boolean |
removeAll(Collection c) | Collection içerisindeki bütün objeleri ArrayList içerisinde bulur ve kaldırır. Kaldırabilirse true, kaldıramazsa false döner | boolean |
indexOf(Object o) | Verilen objenin indis değerini döndürür | int |
size() | ArrayList’in boyutunu döndürür | int |
toArray() | ArrayList’in elemanlarını içeren bir dizi oluşturur ve bu diziyi döndürür | Object[ ] |
toString() | ArrayList’in tüm elemanlarını ekrana yazdırma da kullanılır. ArrayList’in elemanlarını döndürür. | String |
ArrayList yapısında en çok kullanılan metotların hangileri olduğunu ve ne işe yaradıklarını yukarıda listeledik. Şimdi bu metotları kullanarak birkaç ArrayList örneği yapalım.
Java ArrayList Örnekleri
ArrayList Örneği 1: Bu örnekte bir ArrayList içerisinde öğrencilerin isimlerini saklayalım. Kullanıcıdan önce öğrenci sayısı daha sonra ise bütün öğrencilerin isimlerini tek tek alarak ekleyelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
import java.util.*; public class Main { public static void main (String[] args) { ArrayList<String> liste = new ArrayList<>(); Scanner in = new Scanner(System.in); System.out.print("Ogrenci Sayisi: "); int sayi = in.nextInt(); in.nextLine(); for(int i=0;i<sayi;i++){ System.out.print((i+1) + ". Öğrenci: "); liste.add(in.nextLine()); } System.out.println(liste.toString()); } } |
Ekran Çıktısı:
Önce kullanıcıdan kaç adet öğrenci olduğu bilgisini aldık. Daha sonra öğrenci sayısı kadar dönecek olan bir for döngüsü oluşturduk ve başlangıçta String tipinde oluşturduğumuz ArrayList içerisine bütün elemanları tek tek okuduk. Sonrasında ise elemanlarımızı ekrana toString() metodu ile yazdırdık.
ArrayList Örneği 2: ArrayList’in elemanlarını ekrana yazdırma programı
1 2 3 4 5 6 7 8 9 10 11 |
import java.util.ArrayList; public class Main { public static void main (String[] args) { ArrayList liste = new ArrayList(); liste.add(5); liste.add(10); liste.add(15); liste.add(20); for(int i=0;i<liste.size();i++){ System.out.println("Listenin " + (i+1) + ". elemanı : " + liste.get(i)); } } } |
Ekran Çıktısı:
Bu örnekte ArrayList içerisinde bulunan bütün elemanları get() metodu yardımı ile bir for döngüsü içerisinde tek tek ekrana yazdırdık.
ArrayList Örneği 3: Bir ArrayList içerisindeki elemanlardan birini kaldırıp yerine başka bir eleman ekleyen java programı
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; import java.util.Scanner; public class Main { public static void main (String[] args) { ArrayList liste = new ArrayList(); liste.add(5); liste.add(10); liste.add(15); liste.add(20); Scanner in = new Scanner(System.in); System.out.print("Kaldırmak istediğiniz elemanın indisi: "); int indis = in.nextInt(); if(indis > liste.size()){ System.out.println("Girdiğiniz indis değeri listenin boyutunu aşmaktadır."); }else{ System.out.print("Yerine koymak istediğiniz eleman: "); int eleman = in.nextInt(); liste.set(indis,eleman); System.out.println(indis + ". indisteki elemanın yerine " + eleman + " eklendi."); System.out.println("Listenin son hali: " + liste.toString()); } } } |
Ekran Çıktısı:
İlk önce bir ArrayList oluşturduk ve add metodu ile içerisine 4 adet eleman ekledik. Daha sonra kullanıcıdan kaldırmak istediği elemanın indis değerini aldık ve eğer bu indis değeri listenin boyutundan büyükse hata mesajı verdiriyoruz. Değilse de yerine koymak istediği elemanı alıp listede yerine koyuyoruz ve listeyi ekrana basıyoruz.
ArrayList Örneği 4: Temel ArrayList işlemlerinden eleman ekleme, eleman silme, elemanları görüntüleme ve bütün elemanları silme fonksiyonlarını içeren bir menü gerçekleyen java programı.
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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main (String[] args) { int eleman = 0; ArrayList liste = new ArrayList(); liste.add(5); liste.add(10); liste.add(15); liste.add(20); Scanner in = new Scanner(System.in); System.out.print("Yapmak istediğiniz işlemi seçin:\n\n1: Listeye Eleman Ekleme\n2: Listeden Eleman Silme" + "\n3: Listeyi Görüntüleme\n4: Bütün Listeyi Silme\n5: Çıkış\n\nSeçim :"); int seçim = in.nextInt(); do{ switch (seçim){ case 1: System.out.print("Eklenecek Eleman : "); eleman = in.nextInt(); if(liste.add(eleman) == true){ System.out.println("Eleman Eklendi."); }else{ System.out.println("Eleman Eklenemedi."); } break; case 2: System.out.print("Silinecek Eleman: "); eleman = in.nextInt(); if(liste.remove(eleman).equals(false)){ System.out.println("Eleman Silindi."); }else{ System.out.println("Eleman Silinemedi."); } break; case 3: System.out.println("Listenin Son Hali: " + liste.toString()); break; case 4: liste.clear(); System.out.println("Tüm Liste Silindi."); break; } System.out.print("Yapmak istediğiniz işlemi seçin:\n\n1: Listeye Eleman Ekleme\n2: Listeden Eleman Silme" + "\n3: Listeyi Görüntüleme\n4: Bütün Listeyi Silme\n5: Çıkış\n\nSeçim :"); seçim = in.nextInt(); while(seçim<1 || seçim>5){ System.out.println("Hatalı giriş yaptınız..!"); System.out.print("\n\nYapmak istediğiniz işlemi seçin:\n\n1: Listeye Eleman Ekleme\n2: Listeden Eleman Silme" + "\n3: Listeyi Görüntüleme\n4: Bütün Listeyi Silme\n5: Çıkış\n\nSeçim :"); seçim = in.nextInt(); } }while (seçim != 5); System.out.println("Program sonlandırıldı ..."); in.close(); } } |
Şimdi biraz daha karmaşık bir java ArrayList örneği yaptık. İlk önce yeni bir ArrayList oluşturduk ve içerisine 4 adet eleman ekledik. Sonra ArrayList’e eleman ekleme, eleman silme, bütün elemanları görüntüleme, bütün elemanları silme ve çıkış olmak üzere 5 farklı seçenekten oluşan bir menü oluşturduk ve ekrana bastık.
Kullanıcının seçimi 5 olmadığı sürece, bu kısmı do while döngüsü ile sağladık, programımız çalışacak. Geçersiz bir değer girdiğinde geçerli değer girene kadar tekrardan kullanıcıdan değer isteyecek ve menüyü hata mesajı ile birlikte ekrana bastıracaktır.
Switch case yapısı kullanarak menüde yer alan her bir seçenek için gerekli işlemleri yerine getirdik. Böylece şu ana kadar yaptığımız en karmaşık ArrayList örneğini gerçekleştirmiş olduk.
Ekran Çıktıları:
Böylece Java’da ArrayList yapısının kullanımını anlamış olduk. Java’da ArrayList kullanımı ile ilgili, bu yazıda geçen örnekler veya diğer bilgiler ile ilgili bütün sorularınızı yorum olarak bırakabilirsiniz. Diğer java dersleri.
“Java ArrayList Kullanımı ve Örnekleri” adlı bu makaleyi faydalı bulduysanız lütfen yorum yapmayı ve paylaşmayı unutmayın.
Java ArrayList kullanımı ile ilgili verilen örnekleri incelediğinizde bazı farklı dillerle arasında benzerlikler göreceksinizdir. Eğer başka programlama dilleri de kullanıyorsanız öğrenmesi zor olmaz.
Yorumunuz için teşekkürler.
Hep çok zorlanmışımdır bu java ArrayList metotlarını kullanırken. Tabi bazı püf noktaları sayenizde öğrenme şansım oldu. java ArrayList örneği de gayet işime yaradı. Ellerinize sağlık hocam.