Collection’ları incelerken doğrudan List interface’ine bağlı 3 farklı class’ın olduğunu ve bunlardan ilkinini ve en çok kullanılanılanının ArrayList olduğunu belirtmiştik. Bu yazıda ArrayList’leri detaylı bir şekilde ele alacak ve ArrayList kullanımı, metodları ve örnekleri gibi pek çok konuya yer vereceğiz. İşte ArrayList’ler hakkında bilmeniz gerekenler.
ArrayList Nedir?
ArrayList, aynı türden birden fazla veriyi bir arada tutmamıza ve onları çeşitli amaçlarla kullanmamıza izin veren bir dinamik bir yapıdır. ArrayList’i array’lerden ayıran en önemli özelliği, herhangi bir limite sahip olmaması ve oldukça dinamik bir şekilde kullanılabilmesidir. Yani ArrayList’ler oldukça esnek bir yapıya sahiptir. Bir ArrayList’e yeni bir eleman eklemek veya ondan bir eleman silmek oldukça kolaydır.
ArrayList’lerin karakteristik özelliklerinden bir tanesi de tekrarlı verileri saklamaya izin vermesidir. ArrayList’ler genellikle elemanları verilen sıraya göre listeler. ArrayList özelliklerini şu şekilde sıralamak mümkündür;
ArrayList Özellikleri
- ArrayList’lerde eleman sınırı yoktur.
- Tekrar eden elemanları içerebilirler.
- Sıralamayı ekleme sırasına göre yapar.
- ArrayList sınıfı, senkronize bir yapıya sahip değildir.
- ArrayList’te bir eleman silindiğinde, tüm öğelerin index’i değişir. Bu da ArrayList’leri yavaş kılar.
- ArrayList’ler, int, char, double gibi primitive data türlerini kabul etmez. Yalnızca String, Integer, Character, Double gibi non-primitive dataları kabul eder.
- ArrayList class’ı List interface’ine implement edildiği için, oradaki tüm metodları kullanabilir.
ArrayList Kullanımı
ArrayList kullanımı oldukça basittir. ArrayList kullanmak için, ArrayList class’ından, data tipi ArrayList veya List olan bir obje oluşturmak gerekir. Bu işlem üç farklı şekilde yapılabilir;
ArrayList<String> obj = new ArrayList<String>();
ArrayList<Integer> obj1 = new ArrayList<>();
List<String> obj2 = new ArrayList<String>();
Bir ArrayList oluşturduktan sonra içerisine eleman eklemek ve çıkarmak gibi çeşitli işlemler yapmak için aşağıdaki metodları kullanabilirsiniz.
ArrayList Metodları
ArrayList manipülasyonu, bir diğer deyimle, listleri çeşitli amaçlarla değiştirmek, kullanmak için oluşturulmuş çok sayıda metod vardır. Bu metodlardan bazıları şunlardır;
arrListIsmi.add();
Bir ArrayList’e eleman eklemek için kullanılır. Eğer verilen eleman yerleştirilebilirse true, herhangi bir sebepten yerleştirilemezse false return eder.arrListIsmi.add(String, “data”);
Eğer bir elemanı sona değil de belirlenen herhangi bir indexe eklemek istiyorsak, bunun için parantez içerisine önce index sonra virgül bırakıp eklenecek olan elemanı yazarız. Burada ise method voiddir herhangi bir şey return etmez.arrListIsmi.addAll();
Bir listi bir liste eklemek için kullanılır. Parantez içine, bu liste eklenecek olan listin ismi yazılır.arrListIsmi.size();
Bir ArrayList’ın eleman sayısını görmek için size() metodu kullanılır. Bu bize integer return ederi.arrListIsmi.get();
Bir listedeki herhangi spesifik bir elemanı almak için kullanılır. Parantez içerisine almak istediğimiz elemanın indexi yazılır.arrListIsmi.isEmpty()
ArrayList’in boş olup olmadığını kontrol etmek için kullanılır. Boolean return eder.arrListIsmi.set()
ArrayList’te var olan bir elemanı başka bir eleman ile değiştirmek için kullanılır. Parantez içerisine ilk olarak değiştirmek istediğimiz elemanın indexi, ardından onun yerine koymak istediğimiz elemanı yazarız.arrListIsmi.indexOf();
Parantez içerisine yazdığımız elemanın ilk indexini verir.arrListIsmi.lastIndexOf();
Listte yer alan parantez içerisine yazdığımız herhangi bir elemanın son indexini verir.arrListIsmi.remove();
Adından da anlaşılabileceği üzere bir elemanı listeden silmek için kullanılır. Bu metod index ile de obje ile de kullanılabilir.arrListIsmi.removeAll()
Bir listedeki elemanları diğer listeden silmek için kullanılır.arrListIsmi.contains();
Bir elemanın listede olup olmadığını kontrol eder. Varsa true yoksa false return eder.arrListIsmi.containsAll();
Bir listedeki elemanların diğer listede var olup olmadığını toplu olarak kontrol eder.arrListIsmi.equals()
Bu method bir listin diğerine tamamen eşit olup olmadığını kontrol eder.arrListIsmi.clear()
Listedeki tüm elemanları toplu bir şekilde silmek için kullanılır.
ArrayList Örnekleri
public class OrnekClass {
public static void main(String args[]) {
ArrayList<String> list = new ArrayList<String>(); //ArrayList Oluşturduk
list.add("Mango"); // add metodu ile içine elemanlar eklliyoruz.
list.add("Mandalina");
list.add("Muz");
list.add("Portakal");
System.out.println(list); // ArrayList'i Yazdırıyoruz.
int listeBuyuklugu = list.size(); //Listemizin Buyuklugunu bir int'e atadık.
String elemanGetir = list.get(1); // Bir elemanı String bir variable'a atadık.
System.out.println("List Buyuklugu " + listeBuyuklugu + ", 1. Indexteki Eleman " + elemanGetir);
list.set(0, "Elma"); // Sıfırıncı Index'teki elemanı değiştirdik.
System.out.println(list);
}
}
Kod Çıktısı:
[Mango, Mandalina, Muz, Portakal] List Buyuklugu 4, 1. Indexteki Eleman Mandalina [Elma, Mandalina, Muz, Portakal] |