java arraylist how declare
Bu Öğretici, Kod Örnekleriyle Java ArrayList'in Nasıl Bildirileceğini, Başlatılacağını ve Yazdırılacağını Açıklar. Ayrıca 2D Arraylist & ArrayList'in Java'da Uygulanması hakkında bilgi edineceksiniz:
Java Koleksiyonları Çerçevesi ve Liste arayüzü önceki eğitimlerimizde ayrıntılı olarak açıklanmıştır. ArrayList, Koleksiyonlar Çerçevesinin bir parçası olan ve dizilere ve vektörlere benzer olarak görüntülenebilen bir veri yapısıdır.
ArrayList, herhangi bir zamanda veya basitçe dinamik bir şekilde ona eleman eklemenizi veya çıkarmanızı sağlayan dinamik bir dizi olarak algılanabilir.
=> Java Yeni Başlayanlar Kılavuzuna Bir Göz Atın.
Başka bir deyişle, boyutu bir kez bildirildikten sonra statik kalan dizilerden farklı olarak dinamik olarak artabilir veya azalabilir.
Ne öğreneceksin:
- Java'da ArrayList Sınıfı
- Sonuç
Java'da ArrayList Sınıfı
Java'daki ArrayList veri yapısı, 'ArrayList' sınıfının bir parçası olan ArrayList sınıfıyla temsil edilir. java.util ”Paketi.
ArrayList sınıfının hiyerarşisi aşağıda gösterilmektedir.
Gördüğünüz gibi, ArrayList sınıfı, sırasıyla Koleksiyon arayüzünden genişleyen List arayüzünü uygular.
ArrayList sınıfının genel tanımı aşağıda verilmiştir:
public class ArrayList extends AbstractList implements List,RandomAccess, Cloneable, Serializable
ArrayList'in ayırt edici özelliklerinden bazıları şunlardır:
- Java'nın ArrayList sınıfı, ekleme sırasını koruyarak öğeleri depolar.
- ArrayList, içinde saklanan yinelenen öğelere izin verir.
- Java'daki ArrayList'i Vector sınıfından ayıran ana nokta ArrayList senkronize değildir.
- Java'daki ArrayList, C ++ 'daki Vektörler ile daha benzerdir.
- Java'daki ArrayList ayrıca diziler gibi indisler kullanır ve rastgele erişimi destekler.
- ArrayList'teki öğeleri işleyen işlemler yavaştır, çünkü herhangi bir öğe ArrayList'ten kaldırılacaksa çok sayıda öğenin kaydırılması gerekir.
- ArrayList sınıfı, ilkel türleri içeremez, yalnızca nesneleri içerebilir. Bu durumda, biz buna genellikle 'Nesnelerin Dizi Listesi' diyoruz. Dolayısıyla, tamsayı türündeki öğeleri depolamak istiyorsanız, ilkel tür int değil, sarmalayıcı sınıfının Tamsayı nesnesini kullanmanız gerekir.
Dizi Listesi Oluşturma ve Bildirme
ArrayList sınıfını programınızda kullanmak için, önce aşağıda gösterildiği gibi 'import' direktifini kullanarak onu programınıza dahil etmeniz gerekir:
import java.util.ArrayList;
VEYA
import java.util.*; //this will include all classes from java.util package
ArrayList sınıfını programınıza içe aktardıktan sonra, bir ArrayList nesnesi oluşturabilirsiniz.
Genel ArrayList oluşturma sözdizimi şöyledir:
ArrayList arrayList = new ArrayList ();
Varsayılan yapıcıyı kullanan yukarıdaki ifadeden ayrı olarak, ArrayList sınıfı, ArrayList'i oluşturmak için kullanabileceğiniz diğer aşırı yüklenmiş oluşturucular da sağlar.
Yapıcı Yöntemleri
Java'daki ArrayList sınıfı, ArrayList'i oluşturmak için aşağıdaki yapıcı yöntemlerini sağlar.
Yöntem 1: ArrayList ()
Bu yöntem, ArrayList sınıfının varsayılan yapıcısını kullanır ve boş bir ArrayList oluşturmak için kullanılır.
Bu yöntemin genel sözdizimi şöyledir:
ArrayList list_name = new ArrayList();
Örneğin, aşağıdaki ifadeyi kullanarak String türünde genel bir ArrayList oluşturabilirsiniz.
ArrayList arraylist = new ArrayList();
Bu, String türünde 'arraylist' adlı boş bir ArrayList oluşturur.
Yöntem # 2: DiziListesi (int kapasite)
Bu aşırı yüklenmiş yapıcı, yapıcıya bağımsız değişken olarak sağlanan belirtilen boyut veya kapasiteye sahip bir ArrayList oluşturmak için kullanılabilir.
Bu yöntemin genel sözdizimi şöyledir:
ArrayList list_name = new ArrayList(int capacity);
Misal:
ArrayList arraylist = new ArrayList(10);
Yukarıdaki ifade, 10 kapasiteli Tamsayı türünde 'dizi listesi' adlı boş bir ArrayList oluşturur.
Yöntem 3: ArrayList (Koleksiyon c)
ArrayList sınıfı için üçüncü aşırı yüklenmiş yapıcı, zaten var olan bir koleksiyonu argüman olarak alır ve başlangıç öğeleri olarak belirtilen c koleksiyonundaki öğelerle bir ArrayList oluşturur.
Bu yapıcıyı kullanan ArrayList başlatmanın genel sözdizimi şöyledir:
ArrayList list_name = new ArrayList (Collection c)
Örneğin, intList, {10,20,30,40,50} öğelerine sahip mevcut bir koleksiyonsa, aşağıdaki ifade, başlangıç öğeleri olarak intList içeriğiyle bir 'dizi listesi' listesi oluşturacaktır.
ArrayList ArrayList = new ArrayList(intList);
ArrayList sınıfı, listenin içeriğini işlemek için kullanılabilecek çeşitli yöntemleri de destekler. Bu yöntemleri, yaklaşan “Java'da ArrayList yöntemleri” eğitimimizde ayrıntılı olarak tartışacağız.
Java'da Dizi Listesini Başlat
ArrayList oluşturulduktan sonra, ArrayList'i değerlerle başlatmanın birçok yolu vardır. Bu bölümde bu yolları tartışacağız.
# 1) Arrays.asList'i Kullanma
Burada, ArrayList'i başlatmak için Arrays sınıfının asList yöntemini kullanarak List'e dönüştürülmüş bir Array'i iletebilirsiniz.
Genel Sözdizimi:
ArrayList arrayListName = new ArrayList( Arrays.asList (Object o1, Object o2, …, Object on));
Misal:
import java.util.*; public class Main { public static void main(String args()) { //create and initialize ArrayList object myList with Arrays.asList method ArrayList myList = new ArrayList( Arrays.asList('One', 'Two', 'Three')); //print the ArrayList System.out.println('List contents:'+myList); } }
Çıktı:
# 2) Anonim İç Sınıf Yöntemini Kullanma
Burada ArrayList'i değerlere ilklendirmek için anonim iç sınıfı kullanıyoruz.
ArrayList başlatması için anonim bir iç sınıf kullanmanın genel sözdizimi aşağıdaki gibidir:
ArrayListarraylistName = new ArrayList(){{ add(Object o1); add (Object o2);… add (Object on);}};
Misal:
import java.util.*; public class Main { public static void main(String args()) { //create and initialize ArrayList with anonymous inner class calls ArrayList colors = new ArrayList(){{ add('Red'); add('Blue'); add('Purple'); }}; //print the ArrayList System.out.println('Content of ArrayList:'+colors); } }
Çıktı:
# 3) Ekleme Yöntemini Kullanma
Bu, herhangi bir koleksiyona öğe eklemenin yaygın yöntemidir.
ArrayList'e öğe eklemek için add yöntemini kullanmanın genel sözdizimi şöyledir:
ArrayListArraylistName = new ArrayList(); ArraylistName.add(value1); ArraylistName.add(value2); ArraylistName.add(value3);
Programlama Örneği:
import java.util.*; public class Main { public static void main(String args()) { //create ArrayList ArrayList colors = new ArrayList(); //add elements to the ArrayList using add method colors.add('Red'); colors.add('Green'); colors.add('Blue'); colors.add('Orange'); //print the ArrayList System.out.println('Content of ArrayList:'+colors); }
Çıktı:
# 4) Collection.nCopies Yöntemini Kullanma
Bu yöntem, ArrayList'i aynı değerlerle başlatmak için kullanılır. İlklendirilecek öğelerin sayısını ve yönteme başlangıç değerini sağlıyoruz.
Genel başlatma sözdizimi şöyledir:
ArrayList arrayListName = new ArrayList(Collections.nCopies(count, element));
Aşağıdaki örnek, Collections.nCopies yöntemi kullanılarak Array başlatmayı gösterir.
import java.util.*; public class Main { public static void main(String args()) { //create ArrayList with 10 elements //initialized to value 10 using Collections.nCopies ArrayList intList = new ArrayList(Collections.nCopies(10,10)); //print the ArrayList System.out.println('Content of ArrayList:'+intList); } }
Çıktı:
Dizi Listesi Üzerinden Yineleme
ArrayList'te gezinmek veya döngü yapmak için aşağıdaki yollarımız var:
- For döngüsü kullanma
- Her döngü için (geliştirilmiş döngü için).
- Yineleyici arayüzünü kullanma.
- ListIterator arayüzü ile.
- ForEachRemaining () yöntemiyle.
Aslında, bu yöntemler genel olarak koleksiyonlarda yineleme yapmak için kullanılır. Bu eğitimde ArrayList ile ilgili her bir yöntemin örneklerini göreceğiz.
# 1) for döngüsünü kullanma
Dizin tabanlı bir for döngüsü, ArrayList'de gezinmek ve öğelerini yazdırmak için kullanılabilir.
Aşağıda, ArrayList'i for döngüsü kullanarak çapraz geçiş yapmak ve yazdırmak için bir örnek verilmiştir.
import java.util.*; public class Main { public static void main(String() args) { //create a list List intList = new ArrayList(); intList.add(10); intList.add(20); intList.add(30); intList.add(40); intList.add(50); //create & initialize a new ArrayList with previous list ArrayList arraylist = new ArrayList(intList); System.out.println('Contents of ArrayList using for-loop:'); //use for loop to traverse through its elements and print it for(int i=0;i Çıktı:

Bu, ArrayList öğelerinde gezinmenin ve yazdırmanın en basit ve en kolay yoludur ve diğer koleksiyonlar için de aynı şekilde çalışır.
# 2) Her döngü için (döngü için geliştirilmiş)
Ayrıca her döngü için bir döngü veya geliştirilmiş for döngüsü kullanarak ArrayList'te gezinebilirsiniz. Java 8'den önce lambda ifadeleri içermiyordu. Ancak Java 8'den itibaren her döngü için Lambda ifadelerini de dahil edebilirsiniz.
Aşağıdaki program, her döngü ve lambda ifadesi için ArrayList'in geçişini ve yazdırılmasını göstermektedir.
import java.util.*; public class Main { public static void main(String() args) { //create a list List intList = new ArrayList(); intList.add(10); intList.add(20); intList.add(30); intList.add(40); intList.add(50); //create & initialize a new ArrayList with previous list ArrayList arraylist = new ArrayList(intList); System.out.println('Contents of ArrayList using for-each loop:'); //use for-each loop to traverse through its elements and print it intList.forEach(val ->{ System.out.print(val + ' '); }); } }
Çıktı:

# 3) Yineleyici Arayüzünü Kullanma
Iterator arayüzünü önceki konularımızda detaylı olarak görmüştük. Yineleyici arabirimi, ArrayList'de yineleme yapmak ve değerlerini yazdırmak için kullanılabilir.
Aşağıdaki program bunu göstermektedir.
import java.util.*; public class Main { public static void main(String() args) { //create a list List intList = new ArrayList(); intList.add(5); intList.add(10); intList.add(15); intList.add(20); intList.add(25); //create & initialize a new ArrayList with previous list ArrayList arraylist = new ArrayList(intList); System.out.println('Contents of ArrayList using Iterator interface:'); //Traverse through the ArrayList using iterator Iterator iter=arraylist.iterator(); while(iter.hasNext()){ System.out.print(iter.next() + ' '); } } }
Çıktı:

# 4) ListIterator Arayüzüne göre
Ayrıca, ListIterator'ı kullanarak ArrayList'te gezinebilirsiniz. ListIterator, ArrayList'i ileri ve geri yönde hareket ettirmek için kullanılabilir.
ListIterator kullanımının bir örneğini gösteren bir Java programı uygulayalım.
import java.util.*; class Main{ public static void main(String args()){ //create a list and initiliaze it List colors_list=new ArrayList();//Creating arraylist colors_list.add('Red'); colors_list.add('Green'); colors_list.add('Blue'); colors_list.add('Cyan'); colors_list.add('Magenta'); colors_list.add('Yellow'); System.out.println('The contents of the list using ListIterator:'); //Traverse the list using ListIterator ListIterator color_iter=colors_list.listIterator(colors_list.size()); while(color_iter.hasPrevious()) { String str=color_iter.previous(); System.out.print(str + ' '); } } }
Çıktı:

Çıktıdan da görebileceğiniz gibi, yukarıdaki programda ArrayList, ListIterator'ın hasPrevious () ve previous () yöntemleri kullanılarak geriye doğru hareket ettirilir.
# 5) forEachRemaining () Yöntemi ile
Bu, ArrayList'de geçiş yapma yöntemlerinden biridir ve Java 8'den beri mevcuttur.
Aşağıdaki program, ArrayList'te çapraz geçiş yapmak için forEachRemaining () yöntemini gösterir.
import java.util.*; class Main{ public static void main(String args()){ //create a list and initiliaze it List colors_list=new ArrayList(); colors_list.add('Red'); colors_list.add('Green'); colors_list.add('Blue'); colors_list.add('Cyan'); colors_list.add('Magenta'); colors_list.add('Yellow'); System.out.println('The contents of the list using forEachRemaining() method:'); //Traverse the list using forEachRemaining () method Iterator itr=colors_list.iterator(); itr.forEachRemaining(val-> //lambda expression { System.out.print(val + ' '); }); } }
Çıktı:

3 yıllık deneyim için sql sorguları mülakat soruları ve cevapları
ForEachRemaining () yöntemini bir Yineleyici ile birlikte kullanıyoruz. Her birine benzer ve bu yöntemde lambda ifadesini kullanıyoruz.
ArrayList Java Örneği
Bu bölümde, Java'da ArrayList uygulamasını göreceğiz. Örnek olarak, çeşitli manipülasyonlar gerçekleştirmek için Java ArrayList'i oluşturmaktan, başlatmaktan ve kullanmaktan eksiksiz bir örnek uygulayacağız.
import java.util.ArrayList; class Main { public static void main(String() args) { //Creating a generic ArrayList ArrayList newList = new ArrayList(); //Size of arrayList System.out.println('Original size of ArrayList at creation: ' + newList.size()); //add elements to it newList.add('IND'); newList.add('USA'); newList.add('AUS'); newList.add('UK'); //print the size after adding elements System.out.println('ArrayList size after adding elements: ' + newList.size()); //Print ArrayList contents System.out.println('Contents of the ArrayList: ' + newList); //Remove an element from the list newList.remove('USA'); System.out.println('ArrayList contents after removing element(USA): ' + newList); //Remove another element by index newList.remove(2); System.out.println('ArrayList contents after removing element at index 2: ' + newList); //print new size System.out.println('Size of arrayList: ' + newList.size()); //print list contents System.out.println('Final ArrayList Contents: ' + newList); } }
Çıktı:

Java'da İki Boyutlu Dizi Listesi
Bir ArrayList'in Arrays gibi boyutları olmadığını biliyoruz. Ancak '2D ArrayLists' veya 'ArrayList of ArrayLists' olarak da adlandırılan iç içe geçmiş ArrayList'lere sahip olabiliriz.
Bu iç içe geçmiş ArrayList'lerin arkasındaki basit fikir, bir ArrayList verildiğinde, bu ArrayList'in her bir öğesinin başka bir ArrayList olmasıdır.
Bunu aşağıdaki programı kullanarak anlayalım.
import java.util.*; public class Main { public static void main(String() args) { int num = 3; // declare an arrayList of ArrayLists or 2D ArrayList ArrayList intList = new ArrayList (num); // Create individual elements or ArrayLists and add them to intList as elements ArrayList list_elem1 = new ArrayList(); list_elem1.add(10); intList.add(list_elem1); ArrayList list_elem2 = new ArrayList(); list_elem2.add(20); list_elem2.add(30); intList.add(list_elem2); ArrayList list_elem3 = new (); list_elem3.add(40); list_elem3.add(50); list_elem3.add(60); intList.add(list_elem3); System.out.println('Contents of 2D ArrayList(Nested ArrayList):'); //print the 2D ArrayList or nested ArrayList for (int i = 0; i Çıktı:

Yukarıdaki program 2D ArrayList'i gösterir. Burada ilk olarak, ArrayListlerin bir ArrayList'ini bildiriyoruz. Daha sonra, bu ArrayList'lerin her birini Nested ArrayList'e eklediğimizde, iç içe geçmiş ArrayList'in ayrı öğeleri olarak hizmet edecek bağımsız ArrayList'leri tanımlarız.
ArrayList'in her bir öğesine erişmek için get yöntemini iki kez çağırmamız gerekir. İlk önce İç içe geçmiş ArrayList satırına ve ardından satır ve sütunun ayrı kesişimine erişmek için.
Çok boyutlu Dizi Listeleri tanımlamak için ArrayList'in iç içe geçmiş düzeylerini artırabileceğinizi unutmayın. Örneğin, 3D ArrayList, öğeleri olarak 2D ArrayLists'e sahip olacak ve bu böyle devam edecek.
Sıkça Sorulan Sorular
S # 1) Java'da ArrayList nedir?
Cevap: Java'da ArrayList, dinamik bir dizidir. Doğası gereği yeniden boyutlandırılabilir, yani yeni öğeler eklendiğinde boyutu artar ve öğeler silindiğinde küçülür.
S # 2) Array ve ArrayList arasındaki fark nedir?
Cevap: Bir Dizi statik yapıdadır ve boyutu bildirildikten sonra değiştirilemez. Bir DiziListesi dinamik bir dizidir ve öğeler eklendiğinde veya kaldırıldığında boyutunu değiştirir.
Dizi, Java'da temel bir yapı iken, ArrayList, Java'daki Koleksiyon Çerçevesinin bir parçasıdır. Diğer bir fark, Array öğelerine erişmek için alt simge (()) kullanırken, ArrayList öğelerine erişmek için yöntemler kullanır.
S # 3) ArrayList bir liste mi?
Cevap: ArrayList, listenin bir alt türüdür. ArrayList bir sınıftır, List ise bir arayüzdür.
S # 4) ArrayList bir koleksiyon mu?
Cevap: Hayır. ArrayList, bir arabirim olan bir Koleksiyon uygulamasıdır.
S # 5) ArrayList boyutunu nasıl büyütür?
Cevap: Dahili olarak ArrayList, bir Array olarak uygulanır. ArrayList'in bir boyut parametresi var. Öğeler ArrayList'e eklendiğinde ve boyut değerine ulaşıldığında, ArrayList yeni öğeleri barındırmak için dahili olarak başka bir dizi ekler.
Sonuç
Bu, Java'daki ArrayList sınıfının temellerini anlatan öğreticiydi. ArrayList sınıfının oluşturulmasını ve başlatılmasını, ArrayList'in ayrıntılı bir programlama uygulamasıyla birlikte gördük.
Ayrıca 2D ve çok boyutlu Dizi Listelerini de tartıştık. ArrayList sınıfı, öğeleri işlemek için kullanabileceğimiz çeşitli yöntemleri destekler. Yaklaşan eğitimlerimizde bu yöntemleri ele alacağız.
=> Kolay Java Eğitim Serisini Okuyun.
Önerilen Kaynaklar
- Java Dizisi - Java'da Bir Dizi Bildirin, Oluşturun ve Başlatın
- Java Dizisi - Java'da Bir Dizinin Elemanları Nasıl Yazdırılır?
- Java Dağıtımı: Java JAR Dosyasının Oluşturulması ve Yürütülmesi
- Java Listesi - Java'da Liste Nasıl Oluşturulur, Başlatılır ve Kullanılır
- Java Sanal Makinesi: JVM, Java Uygulamasını Çalıştırmada Nasıl Yardımcı Olur?
- Java'da Nesne Dizisi: Nasıl Oluşturulur, Başlatılır ve Kullanılır
- Java'da Erişim Değiştiriciler - Örneklerle Eğitim
- Örneklerle Java Yansıtma Eğitimi