1. Listenin ortasına (veya başına) öğe ekleme

Listenin ortasına bir eleman eklemek istersek, listenin içinde olan şey şudur.

11 öğeden oluşan bir listemiz olduğunu varsayalım:

Listenin ortasına (veya başına) öğe ekleme

5. indeksteki listeye 10.000 sayısını eklemek istiyoruz. Bunu yapmak için, sadece şunu çalıştırmamız gerekiyor:

list.add(5, 10000);

Nerede listbir ArrayListdeğişken. Yöntem add(int index, type value), listedeki 5. konuma 10000 değerini ekler. Yöntemde şunlar olur add():

Adım 1: 5. konumdan başlayarak dizinin tüm öğeleri, dizinin sonuna doğru 1 öğe kaydırılır (kopyalanır):

Bir listenin ortasına (veya başına) öğe ekleme 1

Dizinin 5. ve 6. hücresindeki öğelerin artık aynı olduğuna dikkat edin.

Adım 2: 10.000 değerini 5. hücreye yazın:

Bir listenin ortasına (veya başına) bir öğe eklemek 2

Şimdi liste, dizinin tüm öğelerini içerir ve beşinci hücre 10.000 sayısını içerir. Sadece istediğimiz şeydi.



2. Bir öğeyi listeden kaldırmak

Bir öğeyi listeden kaldırmak, eklemeye benzer, ancak işlem tersine çevrilir.

3. elemanı bir listeden çıkaralım. Bunu yapmak için, yürütmemiz gerekiyor:

list.remove(3);

İşte remove() yönteminde olanlar:

Adım 1: 4. konumdan başlayarak dizinin öğeleri, dizinin başına doğru 1 öğe kaydırılır (kopyalanır):

Bir öğeyi listeden kaldırma

Adım 2: Değişkenin değeri size1 azaltılacaktır.

Listeden bir öğeyi kaldırmak 2

Lütfen dizinin sonunda gri renkli bazı değerler olduğunu unutmayın. Teknik olarak, bunlar çöp. Çöp toplama işlemini engellememek için çıkarılmaları gerekir .

3. Adım: Çöpü temizleme

Listeden bir öğeyi kaldırmak 3



3. Java'da bir listeyle çalışmanın pratik örnekleri

Listelerle çalışmaya ilişkin bazı örnekler yazalım:

1 ile 20 arasındaki tüm çift sayıları listeleyeceğiz:

kod notlar
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);
Bir liste nesnesi oluşturun

Tüm dizinler üzerinde döngü yapın 1Dizin kalansız 20
bölünebiliyorsa , onu listeye ekleyin 2

Şimdi listenin tüm elemanlarını ekranda gösterelim:

kod notlar
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);

for (int i = 0; i < list.size(); i++)
   System.out.println(list.get(i));
Bir liste nesnesi oluşturun
Tüm indeksler üzerinde döngü yapın Sayı kalansız 1bölünebiliyorsa listeye ekleyin Sıfırdan listenin boyutuna döngü Ekrandaki her bir öğeyi görüntüleyin 20

2



Öğeleri kaldırma:

Şimdi 4'e bölünebilen tüm elemanları çıkaralım. Listeden bir eleman çıkardıktan sonra kalan elemanların konumlarının hemen değiştiğini unutmayın.

kod notlar
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);

for (int i = 0; i < list.size(); i++)
   if (list.get(i)%4 == 0)
   {
      list.remove(i);
      i--;
   }
Bir liste nesnesi oluştur

Tüm dizinler üzerinde döngü yap 1Eğer dizin kalansız 20
bölünebiliyorsa listeye ekle Sıfırdan listenin boyutuna dön Listedeki bir öğe kalansız bölünebiliyorsa : a) kaldır eleman b) sayacı azaltın, böylece döngünün bir sonraki yinelemesinde aynı dizini elde ederiz 2



4


i

Diyelim ki bir listeden son 3 öğeyi kaldırmanız gerekiyor.

Bunu nasıl yanlış yapacağınız aşağıda açıklanmıştır:

kod notlar
ArrayList<Integer> list = new ArrayList<Integer>();

for (int i = 1; i <= 20; i++)
   if (i%2 == 0)
      list.add(i);

int n = list.size();
list.remove(n - 3);
list.remove(n - 2);
list.remove(n - 1);
Liste nesnesi oluşturma

Listede 10 öğe vardır: 2, 4, 6, ... 20



n = 10
n - 3 = 7(listede 9 öğe kaldı)
n - 2 = 8(listede 8 öğe kaldı)
n - 1 = 9(listede 7 öğe kaldı)

7. ve 8. elementleri çıkardıktan sonra listede sadece 8 element kalacak. Bu, 9. öğenin silinemeyeceği anlamına gelir — programda bir hata oluşur.

Öğeleri kaldırmanın doğru yolu şu şekildedir:

seçenek 1 seçenek 2
int n = list.size();
list.remove(n - 3);
list.remove(n - 3);
list.remove(n - 3);
int n = list.size();
list.remove(n - 1);
list.remove(n - 2);
list.remove(n - 3);

Öğeler, her çıkarma işleminden sonra birer birer kaydırıldıklarından, öğelerin uçtan veya başka bir tutarlı konumdan çıkarılması gerekir.