Java Dersleri – 26 – ArrayList Sınıfı

By | 19 Eylül 2019

ArrayList Sınıfı

ArrayList, Array’a oranla dinamik bir yapıdadır. Bunun nasıl olduğunu öğrenmek için aşağıdaki normal array’e bakalım sonra dinamik bir ArrayList yapısına bakalım.

Normal Array

int[] sayilar = new int[4];

Ne yaptık? Kapasitesi 4 olan bir array oluşturduk.
Şimdi de dinamik olan ArrayListe’e bakalım.

ArrayList

public class Main {
    public static void main(String[] args) {
        ArrayList<String> alist = new ArrayList<String>();
    }
}

Böylelikle bir ArrayList oluşturduk. Ama bir sıkıntı var. ArrayList bir sınıf bu sebeple üstte tanımlamak lazım. Kullandığım IntelliJ IDEA‘a göre otomatik olarak tanımlanıyor. Sizde de muhakkak otomatik olarak tanımlanıyordur. Yok eğer tanımlanmıyorsa kodların en başına;

import java.util.ArrayList;

yazın.

Son Durum

import java.util.ArrayList; yazın.
public class Main {
    public static void main(String[] args) {
        ArrayList<String> alist = new ArrayList<String>();
    }
}

Burada da görülüğü gibi oluşturduğumuz ArrayList‘te herhangi bir kapasite değeri yok. Sınır Yok.
Şimdi içine bir şeyler ekleyelim.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> alist = new ArrayList<String>();

        alist.add("birinci");
        alist.add("ikinci");
        alist.add("üçüncü");
    }
}

add sayesinde değerlerimizi içine yerleştirdik.
Şimdi de bunları ekrana basalım isterseniz.
İlkin tek tek nasıl ekrana bastırılır sonra da for döngüsü ile hepsini ekrana bastırmayı görelim.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> alist = new ArrayList<String>();

        alist.add("birinci");
        alist.add("ikinci");
        alist.add("üçüncü");

        System.out.println(alist.get(1));
    }
}

get sayesinde 1. indexteki elemanı ekrana bastırdık ve ikinci şeklinde bir çıktıyla karşılaştırk.

  • 0. indexte birinci
  • 1. indexte ikinci
  • 2. indexte üçüncü elemanları yer almakta.

Diyelimki bi elemanın kaçıncı indexte olduğunu bilmiyoruz. Bunu öğrenmek için;

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> alist = new ArrayList<String>();

        alist.add("birinci");
        alist.add("ikinci");
        alist.add("üçüncü");

        System.out.println(alist.indexOf("ikinci"));
    }
}

indexOf ile ikinci isimli elemanın kaçıncı indexte olduğunu sorgulattık ve 1 sonucunu ekrana bastırdı.

Peki bir ArrayList içerisinde kaç eleman bulunur onu öğrenelim.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> alist = new ArrayList<String>();

        alist.add("birinci");
        alist.add("ikinci");
        alist.add("üçüncü");

        System.out.println("Eleman Sayısı : "+alist.size());
    }
}

size ile Eleman Sayısı : 3 sonucunu aldık.

Şimdi de hepsini nasıl ekrana bastırırız onu görelim.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> alist = new ArrayList<String>();

        alist.add("birinci");
        alist.add("ikinci");
        alist.add("üçüncü");

        for (int i = 0; i < alist.size(); i++)
        {
            System.out.println("Eleman : "+alist.get(i));
        }
    }
}

Çıktısı;

Eleman : birinci
Eleman : ikinci
Eleman : üçüncü

Bir elemanı silmek istersek ne yapmalıyız hemen ona da bakalım.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> alist = new ArrayList<String>();

        alist.add("birinci");
        alist.add("ikinci");
        alist.add("üçüncü");

        alist.remove(0);

        for (int i = 0; i < alist.size(); i++)
        {
            System.out.println("Eleman : "+alist.get(i));
        }
    }
}

Çıktısı;

Eleman : ikinci
Eleman : üçüncü
  • ArrayList oluşturduk
  • add ile elemanları içine yerleştirdik
  • remove ile 0. indexteki elemanı sildik
  • for ile hepsini tek tek gezip get ile ekrana bastırdık
  • Ekrana bastırma işleminde 0. indexteki yani birinci isimli eleman ekrana basılmadı çünkü onu for döngüsüne girmeden önce sildik

Daha bunun gibi birçok işlem gerçekleştirmemize olanak sağlayacak durumlar, metotlar var.

Bir iki örneğe daha bakalım.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> alist = new ArrayList<String>();

        alist.add("birinci");
        alist.add("ikinci");
        alist.add("üçüncü");

        alist.set(0,"sıfırıncı");

        for (int i = 0; i < alist.size(); i++)
        {
            System.out.println("Eleman : "+alist.get(i));
        }
    }
}

Burada ise set ile 0. indexteki elemanı sıfırıncı şeklinde değiştirdik. Artık 0. index, birinci olarak değil de sıfırıncı olarak ekrana bastırıldı.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> alist = new ArrayList<String>();

        alist.add("birinci");
        alist.add("ikinci");
        alist.add("üçüncü");

        alist.clear();

        for (int i = 0; i < alist.size(); i++)
        {
            System.out.println("Eleman : "+alist.get(i));
        }
    }
}

Burada da clear ile ArrayList‘in içini temizledik.

import java.util.ArrayList;

public class Main {
    public static void main(String[] args) {
        ArrayList<String> alist = new ArrayList<String>();

        alist.add("birinci");
        alist.add("ikinci");
        alist.add("üçüncü");

        if (alist.contains("ikinci"))
        {
            System.out.println("Bu eleman ArrayList içinde bulunmakta");
        }
    }
}

contains ile belirtilen elemanın ArrayList’in içinde bulunup bulunmadığını sorgulattık. Eğer eleman bulunuyorsa if koşulu sağlanacak ve içerdeki kod bloğu çalışacak. Ekrana Bu eleman ArrayList içinde bulunmakta mesajını verdirttik.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir