Java'da ArrayList: Yeni Başlayanlar İçin Bir Giriş [2022]
Yayınlanan: 2022-11-22Bir dizi, her programlama dilinde bir dezavantajı olan yaygın ve temel bir veri yapısıdır - boyutu sabittir. Java'daki ArrayList'in bu konuda nasıl yardımcı olabileceğini görelim.
Bir dizi iki tür olabilir: statik dizi veya dinamik dizi. Java gibi programlama dillerinde bir dizi dinamik olarak artırılamaz. Bunun yerine, dizinin boyutu, dizinin başlatılması sırasında bildirilir. Ancak çoğu durumda bu, birçok soruna yol açabilir. Bu sorunu çözmek için Java'da ArrayLists kullanılır. Bir öğe bir ArrayList'e gönderildiğinde dizi boyutu otomatik olarak artar.
Bu makalede, Java'daki ArrayLists hakkında bilgi edineceksiniz. Array ve ArrayList arasındaki temel farkı anlayacak ve ayrıca farklı ArrayList türleri ve bunların nasıl kullanılacağı hakkında bilgi edineceksiniz.
Array ve ArrayList
Array ve ArrayList arasındaki temel fark, Array boyutunun statik olmasıdır, ancak ArrayList boyutunun dinamik olabilmesidir. Bir Dizi sabit olduğundan, dizi üzerinde yineleme süresi, dinamik bir diziden daha az zaman alır.
Ayrıca aralarında birkaç fark daha var.
- Statik bir dizi, tek veya çok boyutlu olabilir, ancak bir ArrayList yalnızca tek boyutlu olabilir.
- Dizi, Java'da bulunan ilkel bir veri yapısıdır. Ancak bir ArrayList, Java'daki Collection Framework API'nin bir parçasıdır. Dizilerin üzerine inşa edilmiştir.
- Dizileri ilkel veri türleri ile bildirebilirsiniz. İlkel veri türleri bir ArrayList'te kullanılamaz. İlkel bir veri türü kullanmak istiyorsanız, veri türünün karşılık gelen sarmalayıcı sınıfını kullanmanız gerekir.
Java'daki ArrayList Türleri
ArrayLists herhangi bir türde olabilir. Ancak bir ArrayList'te ilkel veri türlerini geçiremeyeceğiniz için karşılık gelen sarmalayıcı sınıfını geçirmeniz gerekir.
Integer
veya String
gibi sarmalayıcı sınıfları geçirerek tamsayı veya dize türleri gibi basit veri türleri ekleyebilirsiniz.
ArrayLists of ArrayLists, hashmaps, vb. gibi karmaşık türleri de iletebilirsiniz.
Bir ArrayList içinde özel bir sınıf kullanma örneğine bir göz atalım.
import java.util.ArrayList; class User { private String name; private int age; public User(String name, int age) { this.name = name; this.age = age; } public void getUser() { System.out.println("Name: " + name + " Age: " + age); } } class Main { public static void main(String[] args) { ArrayList<User> users = new ArrayList<>(); users.add(new User("Subha", 25)); users.add(new User("Dan", 32)); users.forEach(user -> { user.getUser(); }); } } Output: Name: Subha Age: 25 Name: Dan Age: 32
Yukarıdaki kod örneğinde, User
türünde bir ArrayList oluşturulur. Aşağıdaki örnekte kullanılan yöntemler hakkında daha fazla bilgi edineceksiniz.
Java'da ArrayList Oluşturma
Java'da bir ArrayList'in temellerini zaten anladınız. Şimdi bir ArrayList'in sözdizimine bir göz atalım ve ardından Java kodunda nasıl kullanılabileceğini de göreceğiz.
ArrayList<Type> listName = new ArrayList<>();
Yukarıdaki kod parçacığı, bir ArrayList tanımlamanın sözdizimini gösterir. Type
, ArrayList'in türünü tanımlar. Örneğin, tamsayı veri türlerinin bir ArrayList'ini bildirmek istiyorsanız, <Integer>
iletebilirsiniz. İlkel bir veri türü olduğu için int
geçiremeyeceğinizi unutmayın.
ArrayList'i programlarınızda kullanmak için java.util.ArrayList
de içe aktarmanız gerekir. İşte bir ArrayList bildiren bir programın temel bir örneği:
import java.util.ArrayList; class Main { public static void main(String[] args) { // Declare An ArrayList ArrayList<String> rainbow = new ArrayList<>(); System.out.println(rainbow); } } Output: []
Yukarıdaki kodda, rainbow
adlı String
türünde bir ArrayList bildirilir.
ArrayList ile çalışmak için birden fazla yöntem mevcuttur. Birkaç yönteme bir göz atalım.
add
Yöntemi
ArrayList sınıfı, öğe ekleme veya çıkarma, değer alma, belirli bir konumda bir değer ayarlama, bir ArrayList'i temizleme vb. işlemleri gerçekleştirmek için çeşitli yöntemler sağlar.
Göreceğimiz ilk yöntem, add
yöntemidir.
add
yöntemi, bir ArrayList
tek bir öğe eklemek için kullanılır. add
sözdizimi aşağıda gösterilmiştir.
arrayList.add(int i, Element)
Şimdi sözdizimini anlayalım. İlk parametre i
, eklemek istediğiniz öğenin bulunduğu dizin konumunu temsil eden isteğe bağlı bir parametredir. İkinci parametre Element
, eklemek istediğiniz elementtir. Şimdi bir örneğe bakalım.
rainbow.add("Violet"); System.out.println(rainbow); Output: [Violet] rainbow.add(0, "Red"); System.out.println(rainbow); Output: [Red, Violet]
rainbow.add("Violet")
, bir ArrayList'in sonuna bir öğe ekler. rainbow.add(0, "Red")
, Red
öğesini ArrayList'in 0
dizin konumuna ekler. add()
yöntemi, bir öğe başarıyla eklendiğinde true
değerini döndürür.

get
Yöntemi
get
yöntemi, bir ArrayList'ten belirli bir konumdan değer almak için kullanılır.
arrayList.get(int i);
Yukarıdaki sözdiziminde gösterilen i
, dizin konumudur. Örneğin, öğeyi 1
dizin konumundan almak istiyorsanız, arrayList.get(1)
yazın.
rainbow.add("Violet"); rainbow.add(0, "Red"); String color = rainbow.get(1); System.out.println(color); Output: Violet
Yukarıdaki kod, ArrayList rainbow
Violet
döndürür.
set
Yöntemi
set
yöntemi, bir öğenin değerini değiştirmek için kullanılır. Örneğin, 0
dizin konumundaki bir öğenin değerini değiştirmek isterseniz, rainbow
adında bir ArrayList'iniz olduğunu varsayarak rainbow.set(0, "Purple")
yazarsınız.
set
yönteminin sözdizimi aşağıdaki gibidir,
arrayList.set(int i, Element);
Burada i
, dizin konumudur ve Element
, yeni öğenin değeridir.
rainbow.add("Violet"); System.out.println(rainbow); Output: [Violet] rainbow.add(0, "Red"); System.out.println(rainbow); Output: [Red, Violet] rainbow.set(1, "Purple"); System.out.println(rainbow); Output: [Red, Purple]
Yukarıdaki örnekte, rainbow
adlı bir ArrayList'e iki değer ekliyoruz. Önce Violet
elemanı eklenir, ardından ArrayList'in 0
konumuna Red
öğesini ekliyoruz. Bu noktada, ArrayList'in tamamı şöyle görünür, [Red, Violet]
.
Şimdi, dizin konumu 1
öğe, set
yöntemi kullanılarak Purple
değeriyle değiştirilir. Değeri değiştirdikten sonra, ArrayList [Red, Purple]
gibi görünecektir.
remove
Yöntemi
ArrayList remove
yöntemi, ArrayList'ten bir değeri kaldırmak için kullanılır. Kaldırmak istediğiniz değerin değerini veya dizin konumunu iletebilirsiniz. remove
yönteminin sözdizimi aşağıda gösterilmiştir:
arrayList.remove(Object value); // or arrayList.remove(int i);
Yöntemi daha iyi anlamak için bir örnek verelim. Bu değerlere sahip rainbow
adında bir ArrayList'iniz olduğunu varsayalım [Violet, Red, Green]
. Şimdi, Red
ArrayList'ten kaldırmak istiyorsanız, rainbow.remove("Red");
. rainbow
ArrayList'te bu yöntemi çağırmak, Red
öğesini ondan kaldıracaktır.
// rainbow = [Violet, Red, Green] rainbow.remove("Red"); System.out.println(rainbow); Output: [Violet, Green]
Öğeyi dizin konumundan kaldırmak için dizin konumunu da iletebilirsiniz.
//rainbow = [Red, Green] rainbow.remove(0); // Remove item at index position 0 System.out.println(rainbow); Output: [Green]
clear
Yöntem
Adından da anlaşılacağı gibi clear
yöntemi, bir ArrayList'teki tüm öğeleri kaldırır. Sözdizimi basittir ve herhangi bir parametre almaz.
arraylist.clear()
Bir örneğe bakalım,
rainbow.clear(); System.out.println(rainbow); Output: []
clear
yöntemi herhangi bir değer döndürmez. Bunun yerine, verilen ArrayList'in değerini temizler.
size
Yöntemi
size
yöntemi, verilen ArrayList'in boyutunu döndürür. Bu yöntem ayrıca herhangi bir parametre almaz. Sözdizimi aşağıda gösterilmiştir.
arrayList.size();
arrayList
burada ArrayList'in adıdır. size
yöntemini bir örnek yardımıyla anlayalım.
ArrayList<String> rainbow = new ArrayList<>(); rainbow.add("Violet"); rainbow.add("Red"); rainbow.add("Green"); System.out.println(rainbow.size()); Output: 3
Bu yöntem, ArrayList boyutunun değerini döndürür. Yukarıdaki örnekte, ArrayList rainbow
üç değerden oluşur, bu nedenle size
yöntemi 3 değerini döndürür.
Çözüm
Bu makale ArrayList'in ne olduğunu ve Array'den nasıl farklı olduğunu ele aldı. ArrayList sınıfı için mevcut çeşitli yöntemler kullanılarak bir ArrayList'in nasıl bildirilebileceğini ve kullanılabileceğini de gördük.
Java öğrenme konusunda daha derine inmek istiyorsanız, bu çevrimiçi Java kurslarına göz atın.