Java’da diziler esnek olmayan bir yapıdadır. Dizileri genişletmek yada daraltmak mümkün olmayan sınırlılıklar getirir. Bu yazıda diziler gibi çalışan daha esnek yapıya sahip olan ArrayList oluşturmayı ve bir kaç işlevsel örneği göstereceğiz.
İlk olarak ArrayList nedir sorusuna cevap verelim.
Java’da ArrayList Nedir?
Java’da ArrayList util paketine ait olan bir koleksiyon çerçevesidir. Yani ArrayList kullanmak isterseniz bu paketi dahil (import) etmeniz gerekir.
Bize Java’da dinamik diziler sağlar. Bununla birlikte, standart dizilerden daha yavaş olabilir, ancak dizide çok sayıda düzenlemenin gerekli olduğu programlarda yardımcı olabilir. Bu sınıf, java.util paketinde bulunur. ArrayList’in başlıca avantajları, eğer bir diziyi bildirirsek, o zaman boyuttan bahsedebiliriz, ancak ArrayList’te, boyuttan bahsetmeye gerek olacak bir durum yoktur.
Özetle: ArrayList sınıfı, java.util paketinde bulunabilen yeniden boyutlandırılabilir bir dizidir.
Java’da ArrayList Nasıl Oluşturulur?
ArrayList oluşturmak için aşağıdaki söz dizimine bakalım.
ArrayList<VeriTipi> degiskenAdi= new ArrayList<VeriTipi>();
ArrayList<VeriTipi> degiskenAdi= new ArrayList<VeriTipi>();
|
Yukarıdaki gibi söz dizimini kullanarak öğrenci notlarını kaydettiğimiz bir örnek kodu inceleyelim.
import java.util.ArrayList; // ArrayList kütüphanesi
class Main {
public static void main(String arg[]) {
ArrayList<Integer> ogrenciNotlari = new ArrayList<Integer>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme
ogrenciNotlari.add(75);
ogrenciNotlari.add(35);
ogrenciNotlari.add(40);
ogrenciNotlari.add(100);
ogrenciNotlari.add(68);
//ArrayListi yazdırma
System.out.println(ogrenciNotlari);
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
import java.util.ArrayList; // ArrayList kütüphanesi
class Main { public static void main(String arg[]) {
ArrayList<Integer> ogrenciNotlari = new ArrayList<Integer>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme ogrenciNotlari.add(75); ogrenciNotlari.add(35); ogrenciNotlari.add(40); ogrenciNotlari.add(100); ogrenciNotlari.add(68);
//ArrayListi yazdırma System.out.println(ogrenciNotlari);
} }
|
Çıktı:
[75, 35, 40, 100, 68]
|
Java ArrayList Örnekleri
Java’da ArrayList oluşturmayı gördük. Şimdi ArrayList ile bir kaç örnek işlem yapalım.
Örnek: ArrayListte bulunan öğelerin sayısı öğrenme
import java.util.ArrayList; // ArrayList kütüphanesi
class Main {
public static void main(String arg[]) {
ArrayList<Integer> ogrenciNotlari = new ArrayList<Integer>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme
ogrenciNotlari.add(75);
ogrenciNotlari.add(35);
ogrenciNotlari.add(40);
ogrenciNotlari.add(100);
ogrenciNotlari.add(68);
int elemanSayisi = ogrenciNotlari.size();
System.out.println(“Toplam Öğe Sayısı: “+ elemanSayisi);
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
import java.util.ArrayList; // ArrayList kütüphanesi
class Main { public static void main(String arg[]) {
ArrayList<Integer> ogrenciNotlari = new ArrayList<Integer>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme ogrenciNotlari.add(75); ogrenciNotlari.add(35); ogrenciNotlari.add(40); ogrenciNotlari.add(100); ogrenciNotlari.add(68);
int elemanSayisi = ogrenciNotlari.size(); System.out.println(“Toplam Öğe Sayısı: “+ elemanSayisi);
} }
|
Çıktı:
Toplam Öğe Sayısı: 5
Toplam Öğe Sayısı: 5
|
Örnek: 3.sıradaki öğeyi yazdırma(index numaraları 0dan başlar)
import java.util.ArrayList; // ArrayList kütüphanesi
class Main {
public static void main(String arg[]) {
ArrayList<Integer> notlar = new ArrayList<Integer>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme
notlar.add(75);
notlar.add(35);
notlar.add(40);
notlar.add(100);
notlar.add(68);
System.out.println(notlar.get(2));
}
}
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; // ArrayList kütüphanesi
class Main { public static void main(String arg[]) {
ArrayList<Integer> notlar = new ArrayList<Integer>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme notlar.add(75); notlar.add(35); notlar.add(40); notlar.add(100); notlar.add(68);
System.out.println(notlar.get(2));
} }
|
Çıktı:
Örnek: ArrayList öğelerini for döngüsü ile yazdırma (1.yöntem for)
import java.util.ArrayList; // ArrayList kütüphanesi
class Main {
public static void main(String arg[]) {
ArrayList<Integer> notlar = new ArrayList<Integer>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme
notlar.add(75);
notlar.add(35);
notlar.add(40);
notlar.add(100);
notlar.add(68);
for(int i=0; i<notlar.size();i++){
System.out.println( notlar.get(i) );
}
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import java.util.ArrayList; // ArrayList kütüphanesi
class Main { public static void main(String arg[]) {
ArrayList<Integer> notlar = new ArrayList<Integer>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme notlar.add(75); notlar.add(35); notlar.add(40); notlar.add(100); notlar.add(68);
for(int i=0; i<notlar.size();i++){ System.out.println( notlar.get(i) ); }
} }
|
Çıktı:
Örnek: ArrayList öğelerini for döngüsü ile yazdırma (1.yöntem foreach)
import java.util.ArrayList; // ArrayList kütüphanesi
class Main {
public static void main(String arg[]) {
ArrayList<Integer> notlar = new ArrayList<Integer>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme
notlar.add(75);
notlar.add(35);
notlar.add(40);
notlar.add(100);
notlar.add(68);
for(int not:notlar){
System.out.println( not );
}
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import java.util.ArrayList; // ArrayList kütüphanesi
class Main { public static void main(String arg[]) {
ArrayList<Integer> notlar = new ArrayList<Integer>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme notlar.add(75); notlar.add(35); notlar.add(40); notlar.add(100); notlar.add(68);
for(int not:notlar){ System.out.println( not ); }
} }
|
Çıktı:
Örnek: ArrayList içinde aranan değerin olup olmadığını bulma
import java.util.ArrayList; // ArrayList kütüphanesi
class Main {
public static void main(String arg[]) {
ArrayList<String> isimler = new ArrayList<String>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme
isimler.add(“Ahmet”);
isimler.add(“Hayri”);
isimler.add(“Ufuk”);
isimler.add(“Hüseyin”);
isimler.add(“Recep”);
String aranan =”Ufuk”;
Boolean durum = isimler.contains(aranan);
if(durum){
System.out.println(aranan + ” ismi listede var.”);
}else{
System.out.println(aranan +” isim listede yok.”);
}
}
}
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 |
import java.util.ArrayList; // ArrayList kütüphanesi
class Main { public static void main(String arg[]) {
ArrayList<String> isimler = new ArrayList<String>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme isimler.add(“Ahmet”); isimler.add(“Hayri”); isimler.add(“Ufuk”); isimler.add(“Hüseyin”); isimler.add(“Recep”);
String aranan =“Ufuk”; Boolean durum = isimler.contains(aranan);
if(durum){ System.out.println(aranan + ” ismi listede var.”); }else{ System.out.println(aranan +” isim listede yok.”); }
} }
|
Çıktı:
Ufuk ismi listede var.
Ufuk ismi listede var.
|
Örnek: ArrayList içinde aranan öğenin kaçıncı sırada olduğunu yazdırma
import java.util.ArrayList; // ArrayList kütüphanesi
class Main {
public static void main(String arg[]) {
ArrayList<String> isimler = new ArrayList<String>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme
isimler.add(“Ahmet”);
isimler.add(“Hayri”);
isimler.add(“Ufuk”);
isimler.add(“Hüseyin”);
isimler.add(“Recep”);
String aranan =”Ufuk”;
Boolean durum = isimler.contains(aranan);
if(durum){
int sira = isimler.indexOf(aranan);
System.out.println(aranan + ” ismi listenin “+sira+ ” sırasında var.”);
}else{
System.out.println(aranan +” isim listede yok.”);
}
}
}
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 |
import java.util.ArrayList; // ArrayList kütüphanesi
class Main { public static void main(String arg[]) {
ArrayList<String> isimler = new ArrayList<String>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme isimler.add(“Ahmet”); isimler.add(“Hayri”); isimler.add(“Ufuk”); isimler.add(“Hüseyin”); isimler.add(“Recep”);
String aranan =“Ufuk”; Boolean durum = isimler.contains(aranan);
if(durum){ int sira = isimler.indexOf(aranan); System.out.println(aranan + ” ismi listenin “+sira+ ” sırasında var.”); }else{ System.out.println(aranan +” isim listede yok.”); }
} }
|
Çıktı:
Ufuk ismi listenin 2 sırasında var.
Ufuk ismi listenin 2 sırasında var.
|
Örnek: ArrayListten öğe silme
Not: Referans tiplerden doğrundan silme işlemi gerçekleştirken temel tiplerde index numaralarını kullanarak silmeniz gerekir.
Yöntem 1: (Referans tip)
import java.util.ArrayList; // ArrayList kütüphanesi
class Main {
public static void main(String arg[]) {
ArrayList<String> isimler = new ArrayList<String>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme
isimler.add(“Ahmet”);
isimler.add(“Hayri”);
isimler.add(“Ufuk”);
isimler.add(“Hüseyin”);
isimler.add(“Recep”);
String aranan =”Ufuk”;
Boolean durum = isimler.contains(aranan);
if(durum){
isimler.remove(aranan);
}else{
System.out.println(aranan +” isim listede yok.”);
}
System.out.println(isimler);
}
}
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 |
import java.util.ArrayList; // ArrayList kütüphanesi
class Main { public static void main(String arg[]) {
ArrayList<String> isimler = new ArrayList<String>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme isimler.add(“Ahmet”); isimler.add(“Hayri”); isimler.add(“Ufuk”); isimler.add(“Hüseyin”); isimler.add(“Recep”);
String aranan =“Ufuk”; Boolean durum = isimler.contains(aranan);
if(durum){ isimler.remove(aranan); }else{ System.out.println(aranan +” isim listede yok.”); }
System.out.println(isimler);
} }
|
Yöntem 2:( Tüm tipler)
import java.util.ArrayList; // ArrayList kütüphanesi
class Main {
public static void main(String arg[]) {
ArrayList<String> isimler = new ArrayList<String>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme
isimler.add(“Ahmet”);
isimler.add(“Hayri”);
isimler.add(“Ufuk”);
isimler.add(“Hüseyin”);
isimler.add(“Recep”);
String aranan =”Ufuk”;
Boolean durum = isimler.contains(aranan);
if(durum){
int sira = isimler.indexOf(aranan);
isimler.remove(sira);
}else{
System.out.println(aranan +” isim listede yok.”);
}
System.out.println(isimler);
}
}
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 |
import java.util.ArrayList; // ArrayList kütüphanesi
class Main { public static void main(String arg[]) {
ArrayList<String> isimler = new ArrayList<String>(); ///ArrayList oluşturma
//ArrayList’e değer ekleme isimler.add(“Ahmet”); isimler.add(“Hayri”); isimler.add(“Ufuk”); isimler.add(“Hüseyin”); isimler.add(“Recep”);
String aranan =“Ufuk”; Boolean durum = isimler.contains(aranan);
if(durum){
int sira = isimler.indexOf(aranan); isimler.remove(sira);
}else{ System.out.println(aranan +” isim listede yok.”); }
System.out.println(isimler);
} }
|
Çıktı:
[Ahmet, Hayri, Hüseyin, Recep]
|