Merhaba arkadaşlar,
mobilhanem.com üzerinden anlattığımız/yayınladığımız derslerimize, Java Nesne Yönelimli Programlama Dersleri serisi altında ArrayList Nedir konusu ile devam ediyoruz.
ArrayList Nedir ?
ArrayList, Collections Framework’unun bir parçasıdır ve java.util paketinde bulunur.
Java ArrayList sınıfı öğeleri depolamak için dinamik bir dizi kullanır. Normal bir dizi gibidir fakat boyut sınırı yoktur. İstenildiği zaman öğe eklenir veya öğe silinebilir. Bu sayede esnek bir yapıya sahip olduğunu görüyoruz. Aşağıda ki görselde de detaylı sınıf kurucularını görebilir ve fikir edinebilirsiniz.
Java Array List ile ilgili önemli noktalar şunlardır;
- ArrayList sınıfı, birbirini tekrar eden ve boş değerleri içerebilir,
- ArrayList sınıfı, sıralı bir koleksiyondur ekleme sırasını korur,
- ArrayList sınıfı, senkronize bir yapıya sahip değildir. Birden fazla iş bloklarını aynı anda değiştiremez,
-
ArrayList’in yavaş kalma sebeplerinden biri ise dizi listesinden her hangi bir öğe silindiğinde çok fazla kaydırma işlemi yapılması gerekebilir.(ArrayList listesine erişim işlemi O(1), araya ekleme(insertion) işlemi O(n) ve silme (diletion) işlemi O(n) zaman karmaşasına sahiptir.)
- ArrayList, öğeleri depolamak için dahili olarak bir dizi kullanır. Tıpkı diziler gibi, elemanları indekslerine göre almamızı sağlar.
- int,char, double vb. gibi ilkel türlerden ArrayList oluşturamayız.
ArrayList Oluşturma ve Eleman Ekleme
ArrayList sınıfını kullanabilmemiz için ilgili kütüphaneleri kullandığınız ide’nin kısa yolu ile veya direkt olarak ekleyebilirsiniz. Bu örneğimizde String değerler içeren bir sınıf oluşturacağız ( List<String> animals = new ArrayList<>();) ardından elemanları ekleyerek ekrana yazdıracağız.
import java.util.ArrayList; import java.util.List; public class CreatingArrayList { public static void main(String[] args) { // Creating an ArrayList of String List<String> animals = new ArrayList<>(); // Adding new elements to the ArrayList animals.add("Bird"); animals.add("Tiger"); animals.add("Cat"); animals.add("Dog"); System.out.println(animals); // Adding an element at a particular index in an ArrayList animals.add(2, "Snake"); System.out.println(animals); animals.remove(1); System.out.println("Remove an element : " + animals); } }
Output:
[Bird, Tiger, Cat, Dog] [Bird, Tiger, Snake, Cat, Dog] Remove an element : [Bird, Snake, Cat, Dog
Başka bir koleksiyondan ArrayList Oluşturma
Burada ArrayList (Collection c) kullanılarak başka bir koleksiyondan yeni ArrayList nasıl oluşturulur, oluşturulurken addAll() kullanımı ile tüm öğeler yeni ArrayList’e nasıl eklenir bunları da görmüş olacağız.
import java.util.ArrayList; import java.util.List; public class CreateArrayListFromCollectionExample { public static void main(String[] args) { List<Integer> firstFivePrimeNumbers = new ArrayList<>(); firstFivePrimeNumbers.add(2); firstFivePrimeNumbers.add(3); firstFivePrimeNumbers.add(5); firstFivePrimeNumbers.add(7); firstFivePrimeNumbers.add(11); // Creating an ArrayList from another collection List<Integer> firstTenPrimeNumbers = new ArrayList<>(firstFivePrimeNumbers); List<Integer> nextFivePrimeNumbers = new ArrayList<>(); nextFivePrimeNumbers.add(13); nextFivePrimeNumbers.add(17); nextFivePrimeNumbers.add(19); nextFivePrimeNumbers.add(23); nextFivePrimeNumbers.add(29); // Adding an entire collection to an ArrayList firstTenPrimeNumbers.addAll(nextFivePrimeNumbers); System.out.println(firstTenPrimeNumbers); } }
firstFivePrimeNumbers isimli bir arrayList oluşturulmuş içerisine asal sayılar eklenmiştir. Ardından List<Integer> firstTenPrimeNumbers = new ArrayList<>(firstFivePrimeNumbers); kullanarak başka bir collection dan nasıl arrayList oluşturulacağı gösterilmiştir. Sonrasında tekrar bir arrayList oluşturulup elemanlar eklenmiştir. Son olarak da bir arrayList’e collection’ın tamamının nasıl ekleneceği gösterilmiş (firstTenPrimeNumbers.addAll(nextFivePrimeNumbers);) ve ekrana arrayList’in son hali yazdırılmıştır.
Output:
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]
ArrayList içerisinde bulunan elemanlara erişme
Bu başlık altında yapacağımız örnekte aşağıda yer alan maddeleri öğreneceğiz.
- isEmpty() kullanılarak ArrayList’in boş olup olmadığını nasıl kontrol edilir,
- size() kullanılarak ArrayList’in boyutu nasıl öğrenilir,
- get() kullanılarak ArrayList’de bulunan öğeye nasıl erişilir,
- set() kullanlarak ArrayList’de bulunan öğe nasıl güncellenir.
import java.util.ArrayList; import java.util.List; public class AccessElementsFromArrayListExample { public static void main(String[] args) { List<String> topCompanies = new ArrayList<>(); // Check if an ArrayList is empty System.out.println("Is the topCompanies list empty? : " + topCompanies.isEmpty()); topCompanies.add("Google"); topCompanies.add("Apple"); topCompanies.add("Microsoft"); topCompanies.add("Twitter"); topCompanies.add("Amazon"); // Find the size of an ArrayList System.out.println("Here are the top " + topCompanies.size() + " companies in the world"); System.out.println(topCompanies); // Retrieve the element at a given index String bestCompany = topCompanies.get(0); String secondBestCompany = topCompanies.get(1); String lastCompany = topCompanies.get(topCompanies.size() - 1); System.out.println("Best Company: " + bestCompany); System.out.println("Second Best Company: " + secondBestCompany); System.out.println("Last Company in the list: " + lastCompany); // Modify the element at a given index topCompanies.set(4, "Facebook"); System.out.println("Modified top companies list: " + topCompanies); } }
Output:
Is the topCompanies list empty? : true Here are the top 5 companies in the world [Google, Apple, Microsoft, Twitter, Amazon] Best Company: Google Second Best Company: Apple Last Company in the list: Amazon Modified top companies list: [Google, Apple, Microsoft, Twitter, Facebook]
ArrayList içerisinde bulunan öğeyi silme
Bu başlık altında yapacağımız örnekte aşağıda yer alan maddeleri öğreneceğiz.
- remove(int index), bir arrayList içerisinde belirli bir indeksdeki elemanı silme,
- remove(Object o), bir arrayList içerisinde bir eleman nasıl silinir,
- removeAll(), bir arrayList içerisinde ki her şey nasıl silinir,
- clear(), bir arrayList nasıl temizlenir.
import java.util.ArrayList; import java.util.List; import java.util.function.Predicate; public class RemoveElementsFromArrayListExample { public static void main(String[] args) { List<String> programmingLanguages = new ArrayList<>(); programmingLanguages.add("C"); programmingLanguages.add("C++"); programmingLanguages.add("Java"); programmingLanguages.add("Kotlin"); programmingLanguages.add("Python"); programmingLanguages.add("Objective C"); programmingLanguages.add("PHP"); System.out.println("Initial List: " + programmingLanguages); // Remove the element at index `5` programmingLanguages.remove(5); System.out.println("After remove(5): " + programmingLanguages); // Remove the first occurrence of the given element from the ArrayList boolean isRemoved = programmingLanguages.remove("Kotlin"); System.out.println("After remove(\"Kotlin\"): " + programmingLanguages); // Remove all the elements that exist in a given collection List<String> scriptingLanguages = new ArrayList<>(); scriptingLanguages.add("Python"); scriptingLanguages.add("Ruby"); scriptingLanguages.add("Perl"); programmingLanguages.removeAll(scriptingLanguages); System.out.println("After removeAll(scriptingLanguages): " + programmingLanguages); // Remove all elements from the ArrayList programmingLanguages.clear(); System.out.println("After clear(): " + programmingLanguages); } }
Output:
Initial List: [C, C++, Java, Kotlin, Python, Objective C, PHP] After remove(5): [C, C++, Java, Kotlin, Python, PHP] After remove("Kotlin"): [C, C++, Java, Python, PHP] After removeAll(scriptingLanguages): [C, C++, Java, PHP] After clear(): []
Konuyla ilgili yorumlarınızı konu altından yapabilirsiniz, ayrıca sorularınızı Mobilhanem Soru&Cevap bölümünden sorabilirsiniz. Bir sonraki dersimizde ArrayList ‘ de arama, iterator gibi eksik kalan konulara devam edeceğiz.
Tüm Java Dersleri için tıklayınız..
Kaynaklar :
- https://www.baskent.edu.tr/~tkaracay/etudio/ders/prg/dataStructures/Collections/ClassArrayList01.pdf
- https://medium.com/@denizf.b/java-collections-arraylist-nedir-7519bc1b7654
- https://medium.com/gokhanyavas/javada-generics-43546e77bd8f
- https://www.geeksforgeeks.org/arraylist-in-java/
- https://beginnersbook.com/2013/12/java-arraylist/
- https://www.programiz.com/java-programming/arraylist
Ayrıca örnekleri https://onecompiler.com/ adresinden deneyebilirsiniz.
50
Thank you so much for sharing this informative updates. If you want to learn Java programming in Delhi. Javatpoint provide you the best tutorial free.
how to remove(int index), bir arrayList içerisinde belirli bir indeksdeki elemanı silme,