ArrayList və LinkedList Arasındakı Fərq

Mündəricat:

ArrayList və LinkedList Arasındakı Fərq
ArrayList və LinkedList Arasındakı Fərq

Video: ArrayList və LinkedList Arasındakı Fərq

Video: ArrayList və LinkedList Arasındakı Fərq
Video: Java Dərsləri - Javada Kolleksiyalar haqqında (Collections in Java) 2024, Iyul
Anonim

Əsas Fərq – ArrayList vs LinkedList

Kolleksiyalar məlumatların saxlanması üçün faydalıdır. Normal massivdə massivin ölçüsü sabitdir. Bəzən lazım olduqda böyüyə bilən massivlər yaratmaq tələb olunur. Java kimi proqramlaşdırma dillərinin kolleksiyaları var. Bu, siniflər və interfeyslər dəsti olan bir çərçivədir. Bir qrup element üçün konteyner kimi xidmət edir. Kolleksiyalar elementlər toplusunu saxlamağa, yeniləməyə, əldə etməyə imkan verir. Siyahılar, dəstlər, ağaclar və xəritələr kimi məlumat strukturları ilə işləməyə kömək edir. Siyahı Kolleksiya çərçivəsinin interfeysidir. ArrayList və LinkedList kolleksiyalar çərçivəsində iki sinifdir. Onlar kolleksiya interfeysini və Siyahı interfeysini həyata keçirirlər. Bu məqalə ArrayList və LinkedList arasındakı fərqdən bəhs edir. ArrayList AbstractList-i genişləndirən və məlumat elementlərini saxlamaq üçün daxili olaraq dinamik massivdən istifadə edən List interfeysini həyata keçirən sinifdir. LinkedList AbstractSequentialList-i genişləndirən və məlumat elementlərini saxlamaq üçün daxili olaraq ikiqat əlaqəli siyahıdan istifadə edən List, Deque və Queue interfeyslərini tətbiq edən sinifdir. ArrayList və LinkedList arasındakı əsas fərq budur.

ArrayList nədir?

ArrayList sinfi dinamik massivlər yaratmaq üçün istifadə olunur. Normal massivdən fərqli olaraq, dinamik massivin ölçüsü sabit deyil. ArrayList sinfindən istifadə etməklə yaradılmış obyektə siyahıda elementlər dəstini saxlamağa icazə verilir. Tutum avtomatik olaraq artır, beləliklə proqramçı siyahıya elementlər əlavə edə bilər. ArrayList sinfi List interfeysini həyata keçirən AbstractList sinfini genişləndirir. Buna görə də, List interfeysinin üsulları ArrayList tərəfindən istifadə edilə bilər. Elementlərə daxil olmaq üçün get() metodundan istifadə olunur. Siyahıya elementlər əlavə etmək üçün add() metodundan istifadə etmək olar. Remove() metodu elementi siyahıdan çıxarmaq üçün istifadə olunur. Aşağıdakı proqrama baxın.

ArrayList və LinkedList arasındakı fərq
ArrayList və LinkedList arasındakı fərq
ArrayList və LinkedList arasındakı fərq
ArrayList və LinkedList arasındakı fərq

Şəkil 01: ArrayList nümunəsi

Yuxarıdakı proqrama uyğun olaraq ArrayList-in obyekti yaradılır. Əlavə etmə metodundan istifadə edərək elementləri dinamik şəkildə əlavə etmək olar. "A", "B", "C", "D" və "E" elementləri əlavə etmə üsulu ilə əlavə edilir. Sil üsulu elementi siyahıdan çıxarmaq üçün istifadə olunur. Silinmə üsuluna 4 keçdikdə, 4-cü indeksdəki “E” hərfi siyahıdan çıxarılır. For döngəsindən istifadə edərək siyahıda təkrarlanan zaman A, B, C və D hərfləri çap olunacaq.

LinkedList nədir?

ArrayList-ə bənzər, LinkedList məlumat elementlərini dinamik şəkildə saxlamaq üçün istifadə olunur. LinkedList sinfindən istifadə etməklə yaradılmış obyektə siyahıda elementlər dəstini saxlamağa icazə verilir. Tutum avtomatik olaraq artır, beləliklə proqramçı siyahıya elementlər əlavə edə bilər. Məlumatları saxlamaq üçün daxili olaraq ikiqat əlaqəli siyahıdan istifadə edir. İkiqat əlaqəli siyahıda məlumatlar qovşaqlar kimi saxlanılır. Hər bir node iki keçiddən ibarətdir. Birinci keçid əvvəlki qovşağı göstərir. Növbəti keçid ardıcıllıqla növbəti noda işarə edir.

LinkedList sinfi AbstractSequentialList sinfini genişləndirir və List interfeysini həyata keçirir. Beləliklə, List interfeysinin metodları LinkedList tərəfindən istifadə edilə bilər. Get() metodu siyahının elementlərinə daxil olmaq üçün istifadə edilə bilər. Siyahıya elementlər əlavə etmək üçün add() metodundan istifadə etmək olar. Remove() metodu elementi siyahıdan çıxarmaq üçün istifadə olunur. Aşağıdakı proqrama baxın.

ArrayList və LinkedList arasındakı əsas fərq
ArrayList və LinkedList arasındakı əsas fərq
ArrayList və LinkedList arasındakı əsas fərq
ArrayList və LinkedList arasındakı əsas fərq

Şəkil 02: LinkedList ilə nümunə

Yuxarıdakı proqrama uyğun olaraq LinkedList-in obyekti yaradılır. Əlavə etmə metodundan istifadə edərək elementləri dinamik şəkildə əlavə etmək olar. "A", "B", "C", "D" və "E" elementləri əlavə etmə üsulu ilə əlavə edilir. Sil üsulu elementi siyahıdan çıxarmaq üçün istifadə olunur. Silinmə metoduna 4 keçdikdə, 4-cü indeksdəki “E” hərfi siyahıdan çıxarılır. For döngəsindən istifadə edərək təkrarlanan zaman A, B, C və D hərfləri çap olunacaq.

ArrayList və LinkedList arasında hansı oxşarlıqlar var?

  • Həm ArrayList, həm də LinkedList List interfeysini həyata keçirir.
  • Həm ArrayList, həm də LinkedList dublikat elementləri ehtiva edə bilər.
  • Həm ArrayList, həm də LinkedList daxiletmə sırasını qoruyur.

ArrayList və LinkedList arasındakı fərq nədir?

ArrayList vs LinkedList

ArrayList AbstractList-i genişləndirən və məlumat elementlərini saxlamaq üçün daxili olaraq dinamik massivdən istifadə edən Siyahı interfeysini həyata keçirən sinifdir. LinkedList AbstractSequentialList-i genişləndirən və məlumat elementlərini saxlamaq üçün daxili olaraq ikiqat əlaqəli siyahıdan istifadə edən List, Deque, Queue interfeyslərini həyata keçirən sinifdir.
Elementlərə Giriş
ArrayList elementlərinə daxil olmaq LinkedList-dən daha sürətlidir. LinkedList elementlərinə daxil olmaq ArrayList-dən daha yavaşdır.
Elementlərin Manipulyasiyası
ArrayList elementlərinin manipulyasiya edilməsi LinkedList-dən daha yavaşdır. LinkedList elementlərini manipulyasiya etmək ArrayList-dən daha sürətlidir.
Davranış
ArrayList Siyahı kimi çıxış edir. LinkedList Siyahı və Növbə kimi çıxış edir.

Xülasə – ArrayList vs LinkedList

Kolleksiya çərçivəsi siyahılar, ağaclar, xəritələr və dəstlər kimi məlumat strukturları ilə işləməyə imkan verir. Siyahı kolleksiya çərçivəsinin interfeysidir. Bu məqalə ArrayList və LinkedList arasındakı fərqi müzakirə etdi. ArrayList AbstractList-i genişləndirən və məlumat elementlərini saxlamaq üçün dinamik massivdən daxili istifadə edən Siyahı interfeysini həyata keçirən sinifdir. LinkedList AbstractSequentialList-i genişləndirən və məlumat elementlərini saxlamaq üçün daxili olaraq ikiqat əlaqəli siyahıdan istifadə edən List, Deque, Queue interfeyslərini tətbiq edən sinifdir. ArrayList və LinkedList arasındakı fərq budur.

Tövsiyə: