ArrayList Nedir, java ile android studio da nasıl kullanılır konuları anlatılmaktadır.
1. ArrayList Nedir?
- ArrayList, Java'da java.util paketinde bulunan bir sınıftır.
- Dizilere benzer şekilde veri saklar, ancak boyutu dinamik olarak değişebilir.
- Eleman ekleme, silme ve güncelleme gibi işlemler kolayca yapılabilir.
- Generic yapı sayesinde farklı veri türlerini (String, Integer, Double, vb.) saklayabilir.
2. ArrayList'in Avantajları
- Dinamik Boyut: Dizilerin aksine, boyutu otomatik olarak artar veya azalır.
- Kolay Eleman Ekleme/Silme: Eleman eklemek veya silmek için basit metotlar sunar.
- Esneklik: Farklı veri türlerini destekler (Generic yapı).
- Zengin Metotlar: Eleman arama, sıralama, karşılaştırma gibi işlemler için birçok metot içerir.
3. ArrayList Oluşturma
ArrayList, java.util.ArrayList sınıfından türetilir. Oluştururken veri türü belirtilmelidir (Generic yapı).
ArrayList<String> isimler = new ArrayList<>();
isimler.add("Ali");
isimler.add("Veli");
isimler.add("Ayşe");
System.out.println(isimler); // [Ali, Veli, Ayşe]
4. ArrayList'e Eleman Ekleme
ArrayList'e eleman eklemek için add() metodu kullanılır.
Örnek:
ArrayList<String> isimler = new ArrayList<>();
isimler.add("Ali");
isimler.add("Veli");
isimler.add("Ayşe");
System.out.println(isimler); // [Ali, Veli, Ayşe]
5. ArrayList'ten Eleman Okuma
ArrayList'teki elemanlara indeks numarası ile erişilir. İndeksler 0'dan başlar. get() metodu kullanılır.
Örnek:
ArrayList<String> isimler = new ArrayList<>();
isimler.add("Ali");
isimler.add("Veli");
isimler.add("Ayşe");
System.out.println(isimler.get(0)); // Ali
System.out.println(isimler.get(1)); // Veli
6. ArrayList'te Eleman Silme
ArrayList'ten eleman silmek için remove() metodu kullanılır. İndeks veya elemanın kendisi belirtilebilir.
Örnek:
ArrayList<String> isimler = new ArrayList<>();
isimler.add("Ali");
isimler.add("Veli");
isimler.add("Ayşe");
isimler.remove(1); // İndeks 1'deki elemanı sil (Veli)
System.out.println(isimler); // [Ali, Ayşe]
isimler.remove("Ayşe"); // "Ayşe" elemanını sil
System.out.println(isimler); // [Ali]
7. ArrayList'te Eleman Güncelleme
ArrayList'teki bir elemanı güncellemek için set() metodu kullanılır.
Örnek:
ArrayList<String> isimler = new ArrayList<>();
isimler.add("Ali");
isimler.add("Veli");
isimler.set(1, "Mehmet"); // İndeks 1'deki elemanı "Mehmet" ile değiştir
System.out.println(isimler); // [Ali, Mehmet]
8. ArrayList'te Eleman Sayısı
ArrayList'teki eleman sayısını öğrenmek için size() metodu kullanılır.
Örnek:
ArrayList<String> isimler = new ArrayList<>();
isimler.add("Ali");
isimler.add("Veli");
System.out.println(isimler.size()); // 2
9. ArrayList'te Eleman Arama
ArrayList'te bir elemanın olup olmadığını kontrol etmek için contains() metodu kullanılır.
Örnek:
ArrayList<String> isimler = new ArrayList<>();
isimler.add("Ali");
isimler.add("Veli");
boolean varMi = isimler.contains("Ali");
System.out.println(varMi); // true
10. ArrayList'te Döngü Kullanımı
ArrayList'teki elemanları döngü ile gezmek için for-each veya klasik for döngüsü kullanılabilir.
Örnek:
ArrayList<String> isimler = new ArrayList<>();
isimler.add("Ali");
isimler.add("Veli");
isimler.add("Ayşe");
// For-each döngüsü
for (String isim : isimler) {
System.out.println(isim);
}
// Klasik for döngüsü
for (int i = 0; i < isimler.size(); i++) {
System.out.println(isimler.get(i));
}
11. ArrayList'te Sıralama
ArrayList'teki elemanları sıralamak için Collections.sort() metodu, ArrayList'teki elemanları tersine çevirmek için Collections.reverse() metodu kullanılır.
Örnek:
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> sayilar = new ArrayList<>();
sayilar.add(50);
sayilar.add(20);
sayilar.add(40);
Collections.sort(sayilar); // Küçükten büyüğe sırala
System.out.println(sayilar); // [20, 40, 50]
}
}
12. ArrayList'te Temizleme
ArrayList'teki tüm elemanları silmek için clear() metodu kullanılır.
Örnek:
ArrayList<String> isimler = new ArrayList<>();
isimler.add("Ali");
isimler.add("Veli");
isimler.clear(); // Tüm elemanları sil
System.out.println(isimler.size()); // 0
13. Örnek Uygulama: ArrayList ile Öğrenci Notları
Aşağıda, ArrayList kullanarak öğrenci notlarını saklayan ve işleyen(notları sıralı göster, en yüksek notu bul, ortalamasını al) bir örnek bulabilirsiniz:
import java.util.ArrayList;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
ArrayList<Integer> notlar = new ArrayList<>();
notlar.add(85);
notlar.add(90);
notlar.add(75);
// Notları sırala
Collections.sort(notlar);
System.out.println("Sıralı notlar: " + notlar);
// En yüksek not
int enYuksekNot = notlar.get(notlar.size() - 1);
System.out.println("En yüksek not: " + enYuksekNot);
// Not ortalaması
int toplam = 0;
for (int not : notlar) {
toplam += not;
}
double ortalama = (double) toplam / notlar.size();
System.out.println("Not ortalaması: " + ortalama);
}
}