Altın Konu Java ArrayList Nasıl Kullanılır

  • Konuyu başlatan Konuyu başlatan ByMoDuS
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 3
  • Görüntüleme Görüntüleme 264

ByMoDuS

Fahri Üye
Katılım
30 Nis 2011
Konular
1,324
Mesajlar
5,827
Çözüm
20
Online süresi
6mo 6d
Reaksiyon Skoru
5,735
Altın Konu
235
Başarım Puanı
379
MmoLira
27,336
DevLira
27
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

AbstractList'in Alt Sınıfları


AbstractList sınıfı, List arabirimini uygular ve ArrayList gibi veri yapılarına erişmenizi sağlar. AbstractList'in diğer doğrudan ve dolaylı alt sınıfları şunları içerir:
  • LinkedList veri yapısı, ara endekslerde hızlı ekleme ve çıkarmayı destekler.
  • Vector veri yapısı bir ArrayList gibidir, ancak senkronize edilmiştir. Çok iş parçacıklı uygulamalar için ArrayList yerine kullanılmaya uygundur.
  • Yığın veri yapısı, son giren ilk çıkar listesini taklit etmeye yönelik işlemleri destekler. Doğal olarak, Vector sınıfını genişlettiği için senkronize olur.
Bu özel sınıflar bu makalenin kapsamı dışındadır. Ancak, genel amaçlı bir Java ArrayList'in nasıl kurulacağını ve kullanılacağını öğreneceksiniz.


ArrayList Oluşturma

Java'da bir ArrayList oluşturmak basittir. Bağımsız değişken olmayan yapıcıyı kullanarak boş bir ArrayList oluşturabilirsini .

Aşağıdaki kod, dizeleri tutmak için boş bir ArrayList oluşturur.

ArrayList<String> alist = new ArrayList<String>();

Dizi listenizin kaç öğe içereceğini biliyorsanız, başlangıç kapasitesini belirtebilirsiniz.

Bu ilk kapasite, bellek tahsisi için yalnızca bir ipucudur. Bir kapasite belirtseniz de belirtmeseniz de ArrayList'in bellek kısıtlaması yoktur.

Başlangıç kapasitesini biliyorsanız ve belirtirseniz, küçük bir performans artışı elde edebilirsiniz.

ArrayList<String> alist = new ArrayList<String>(8);

Yukarıdaki kod, bellekte sekiz dizin konumu tahsis eden bir ArrayList (alist) oluşturur.

ArrayList'i Doldurma Ve Sonuna Öğe Ekleme


Bir ArrayList'i doldurmak oldukça kolaydır. ArrayList'in sonuna tek bir öğe eklemek için add() yöntemini kullanın. İşte bir örnek:
ArrayList<String> alist = new ArrayList<String>();
alist.add("apple");
alist.add("banana");
alist.add("cantaloupe");
alist.add("orange");
System.out.println(alist);

Yukarıdaki kod, konsolda aşağıdaki çıktıyı görüntüler:
[apple, banana, cantaloupe, orange]

size() yöntemi, bir ArrayList içindeki öğelerin sayısını döndürür.

System.out.println("Number of elements in the arraylist: " + alist.size());
// Prints
// Number of elements in the arraylist: 4

Belirli Bir Dizine Öğe Ekleme


Belirli bir dizin konumuna bir öğe eklemek ister misiniz?

Add() yöntemine kullanmak istediğiniz dizin konumunu ve ardından eklemek istediğiniz öğeyi sağlamanız yeterlidir.

alist.add(3, "grapes");
System.out.println(alist);

Yukarıdaki kod, konsolda aşağıdaki çıktıyı görüntüler:
[apple, banana, cantaloupe, grapes, orange]

Yukarıdaki ArrayList'te "üzüm" in listede dördüncü olduğunu fark edeceksiniz.

Bu, bir Java ArrayList sıfır dizin konumunda başladığından, üçüncü dizin konumundadır.


Bir Demet Öğe Ekleme

Java Koleksiyonları hiyerarşisindeki herhangi bir koleksiyondan öğeler de ekleyebilirsiniz.

ArrayList , List adı verilen özel bir türdür.

İşte bir grup öğeden ( Arrays.asList() kullanarak) bir Liste oluşturmanın ve onu bir ArrayList öğesine eklemenin bir yoludur.

List<String> items = Arrays.asList("pear", "cherry");
alist.addAll(items);
System.out.println(alist);
// prints
// [apple, banana, cantaloupe, grapes, orange, pear, cherry]

Ayrıca addAll() yönteminin ilk argümanı olarak bir dizin sağlayabilirsiniz.

Bu, Öğe Listesini ArrayList'te herhangi bir konuma yerleştirmenize olanak tanır.


İndeksli Öğelere Erişme
Öğenin dizinini biliyorsanız, öğeyi belirli dizin konumunda almak için get() yöntemini kullanabilirsiniz.
String item = alist.get(2);
System.out.println("Item at index 2 is: " + item);
// prints
//Item at index 2 is: cantaloupe
Eşya Bulmak

Ya öğenin dizinini bilmiyorsanız?

Öğenin dizide olup olmadığını kontrol etmek ve döndürülen dizini kullanarak öğeyi almak için indexOf() 'u kullanabilirsiniz.


Program bir öğe bulamadığında indexOf() yöntemi -1 değerini döndürür:
index = alist.indexOf("grape");

if (index < 0) {
System.out.println("Item \"grape\" not found");
} else {
System.out.println("Item \"grape\" found at index " + index);
}
// prints
// Item "grape" not found

Ekli dosyayı görüntüle 3.jpg
Bir ArrayList Üzerinde Yineleme

ArrayList'in en yaygın kullanımı, öğeler üzerinde yineleme yapmaktır. Bunu birkaç yolla başarabilirsiniz.

Aşağıdaki kod, bir ArrayList üzerinde yinelenen ve konsoldaki her öğeyi yazdıran bir for döngüsü içerir:


Java'nın geliştirilmiş for döngüsü geliştiricilerinden önce, bir yineleyici ile bir ArrayList'teki öğeler üzerinde yinelenirdi.

Bir yineleyici, aşağıdaki örnekte gösterildiği gibi yineleme işlemi sırasında öğeleri de kaldırabilir.

Aşağıdaki kodun ArrayList'in bir kopyasını oluşturduğunu ve kopya üzerinde çalıştığını unutmayın.

Öğeleri Değiştirme


set() yöntemi, bir ArrayList'teki mevcut bir öğeyi değiştirmenize olanak tanır. Bu yöntem iki argüman alır.

Değiştirmek istediğiniz öğenin dizin konumu ve yeni öğedir.

alist.set(5, "pineapple");
System.out.println(alist);
// prints
// [apple, banana, cantaloupe, grapes, orange, pineapple, cherry]

Öğeleri Kaldırma


Listeden çıkarmak istediğiniz bir öğenin dizin konumunu biliyorsanız, bunu başarmak için remove() yöntemini kullanabilirsiniz.

Remove()
yöntemi , argüman olarak bir dizin konumu veya bir öğe alır.

String fruit = alist.remove(2);
System.out.println("Removed element at 2: " + fruit);
// prints
// Removed element at 2: cantaloupe

Program belirtilen öğeyi bulur ve kaldırırsa, aşağıdaki kod true değerini döndürür.
fruit = "grapes";
System.out.println("Remove " +fruit+ " from the list? " + alist.remove(fruit));
// prints
// Remove grapes from the list? true
 

En Çok Reaksiyon Alan Mesajlar

Paylaşım için teşekkürler, eline sağlık
 
Paylaşım için teşekkürler
 
Elinize sağlık paylaşım için teşekkürler.
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)