1. Elementin siyahının ortasına (və ya əvvəlinə) əlavə olunması
Əgər biz elementi siyahının ortasına əlavə etmək istəyiriksə, onda siyahı daxilində aşağıdakılar baş verir.
Tutaq ki, 11 elementdən ibarət bir siyahımız var:

Biz 10,000 rəqəmini siyahıya 5-ci nömrə ilə əlavə etmək istəyirik, bunun üçün sadəcə bu əmri icra etmək kifayətdir:
list.add(5, 10000);
Burada list — bu ArrayList tipində dəyişəndir, add(int index, tip value) metodu 10000 dəyərini siyahının 5-ci mövqeyinə əlavə edir. add() metodunda aşağıdakılar baş verir:
1-ci addım: 5-ci elementdən başlayaraq bütün massiv elementləri 1 mövqe irəli (massivin sonuna doğru) köçürülür:

Diqqət edin: massivdəki 5-ci və 6-cı hüceyrələrdəki elementlər artıq eynidir.
2-ci addım: 5-ci hüceyrəyə 10,000 dəyərini yazırıq:

İndi siyahıda bütün massiv elementləri var, və 5-ci hüceyrədə 10,000 rəqəmi yazılıb. İstədiyimiz kimi.
2. Siyahıdan elementi silmək
Siyahıdan elementi silmək əməliyyatı, onu əlavə etmək əməliyyatına bənzəyir, sadəcə proses əksinədir.
Gəlin siyahıdan indeks 3 olan elementi silək. Bunun üçün aşağıdakı əmri yerinə yetirmək lazımdır:
list.remove(3);
Bununla remove() metodunda baş verən proses belədir:
Addım 1: 4-cü elementdən başlayan massiv elementləri bir mövqeyə əvvəlki yerə sürüşdürüləcək (kopyalanacaq):

Addım 2: size dəyişəninin dəyəri 1 vahid azaldılacaq.

Diqqət yetirin: Boz rənglə işarələnmiş massivdə son hissədə bəzi dəyərlər var. Texniki olaraq bu, zibil olaraq qəbul edilir. Zibilləri silmək lazımdır ki, zibil yığımı prosesinə mane olmasın.
Addım 3: zibillərin silinməsi

3. Java-da siyahı ilə praktik nümunələr
Gəlin siyahılar ilə iş üzrə bir neçə nümunə yazaq:
Siyahıya 1-dən 20-yə qədər olan bütün cüt rəqəmləri əlavə edək:
| Kod | Qeyd |
|---|---|
|
Siyahı obyektini yaradırıq1 .. 20 rəqəmləri üzrə dövrəgər ədəd 2-yə tam bölünürsə,onu siyahıya əlavə edirik |
İndi siyahının bütün elementlərini ekrana çıxaraq:
| Kod | Qeyd |
|---|---|
|
Siyahı obyektini yaradırıq1 .. 20 rəqəmləri üzrə dövrəgər ədəd 2-yə tam bölünürsəonu siyahıya əlavə edirik siyahının ölçüsünə qədər dövr hər bir elementi ekrana çıxarırıq |
Elementlərin silinməsi:
İndi isə gəlin 4-ə bölünən bütün elementləri silək. Nəzərə alın ki, siyahıdan bir elementi sildikdən sonra qalan elementlərin mövqeləri dəyişir.
| Kod | Qeyd |
|---|---|
|
Siyahı obyektini yaradırıq1 .. 20 rəqəmləri üzrə dövrəgər ədəd 2-yə tam bölünürsə,onu siyahıya əlavə edirik. siyahının ölçüsünə qədər dövr əgər siyahının elementi 4-ə tam bölünürsə:a) elementi silirik b) növbəti dövr üçün həmin elementi təkrar yoxlamaq üçün i dəyişəni azaldırıq |
Tutaq ki, sizə siyahının son 3 elementini silmək lazımdır.
Necə etmək düzgün deyil:
| Kod | Qeyd |
|---|---|
|
Siyahı obyektini yaradırıq siyahıda 10 element var: 2, 4, 6, ... 20n = 10n - 3 = 7 (siyahıda 9 element qaldı)n - 2 = 8 (siyahıda 8 element qaldı)n - 1 = 9 (siyahıda 7 element qaldı) |
7 və 8 elementləri sildikdən sonra, siyahıda cəmi 8 element qalır. Buna görə 9-cu elementi silmək mümkün olmayacaq — proqramda xəta yaranacaq.
Elementləri necə silmək lazım idi:
| Birinci variant | İkinci variant |
|---|---|
|
|
Elementləri ya sondan silmək lazımdır, ya da sadəcə olaraq hər dəfə eyni yerdən — silmədən sonra elementlər bir mövqe sola keçəcək.
GO TO FULL VERSION