Perbezaan antara arraylist dan linkedlist

Perbezaan antara arraylist dan linkedlist

Perbezaan utama - ArrayList vs LinkedList
 

Koleksi berguna untuk menyimpan data. Dalam pelbagai biasa, saiz array diperbaiki. Kadang -kadang diperlukan untuk membuat tatasusunan yang boleh tumbuh seperti yang diperlukan. Bahasa pengaturcaraan seperti Java mempunyai koleksi. Ia adalah rangka kerja dengan satu set kelas dan antara muka. Ia berfungsi sebagai bekas untuk sekumpulan elemen. Koleksi Benarkan menyimpan, mengemas kini, mengambil set elemen. Ia membantu bekerja dengan struktur data seperti senarai, set, pokok dan peta. Senarai ini adalah antara muka kerangka koleksi. ArrayList dan LinkedList adalah dua kelas dalam kerangka koleksi . Mereka melaksanakan antara muka koleksi dan menyenaraikan antara muka. Artikel ini membincangkan perbezaan antara ArrayList dan LinkedList. ArrayList adalah kelas yang memanjangkan senarai abstrak dan melaksanakan antara muka senarai, yang secara dalaman menggunakan array dinamik untuk menyimpan elemen data. LinkedList adalah kelas yang melanjutkan senarai abstrak dan mengikat senarai, deque, dan antaramuka giliran, yang secara dalaman menggunakan senarai dikaitkan dua kali untuk menyimpan elemen data. Itulah Perbezaan utama Antara ArrayList dan LinkedList.

Kandungan

1. Gambaran Keseluruhan dan Perbezaan Utama
2. Apa itu ArrayList
3. Apa yang diserahkan
4. Persamaan antara ArrayList dan LinkedList
5. Perbandingan sampingan - ArrayList vs LinkedList dalam bentuk jadual
6. Ringkasan

Apa itu ArrayList?

Kelas ArrayList digunakan untuk membuat tatasusunan dinamik. Tidak seperti array biasa, saiz array dinamik tidak diperbaiki. Objek yang dibuat menggunakan kelas ArrayList dibenarkan menyimpan satu set elemen dalam senarai. Kapasiti meningkat secara automatik, jadi pengaturcara dapat menambahkan elemen ke senarai. Kelas ArrayList memanjangkan kelas abstrak yang melaksanakan antara muka senarai. Oleh itu, kaedah antara muka senarai boleh digunakan oleh ArrayList. Untuk mengakses elemen, kaedah mendapatkan () digunakan. Kaedah Tambah () boleh digunakan untuk menambah elemen ke senarai. Kaedah keluarkan () digunakan untuk mengeluarkan elemen keluar dari senarai. Rujuk program di bawah.

Rajah 01: Contoh ArrayList

Menurut program di atas, objek ArrayList dibuat.  Menggunakan kaedah Tambah, elemen boleh ditambah secara dinamik. Unsur -unsur "a", "b", "c", "d" dan "e" ditambah menggunakan kaedah tambah. Kaedah keluarkan digunakan untuk mengeluarkan elemen dari senarai. Semasa melewati 4 ke kaedah mengeluarkan, huruf dalam indeks ke -4 iaitu "e" dikeluarkan dari senarai. Apabila meleleh melalui senarai menggunakan gelung untuk, huruf a, b, c dan d akan mencetak.

Apa yang diserahkan?

Sama dengan ArrayList, LinkedList digunakan untuk menyimpan elemen data secara dinamik. Objek yang dibuat menggunakan kelas LinkedList dibenarkan menyimpan satu set elemen dalam senarai. Kapasiti meningkat secara automatik, jadi pengaturcara dapat menambahkan elemen ke senarai. Ia menggunakan senarai dikaitkan secara dalaman untuk menyimpan data. Dalam senarai dikaitkan dua kali, data disimpan sebagai nod. Setiap nod mengandungi dua pautan. Pautan pertama menunjukkan nod sebelumnya. Pautan seterusnya menunjukkan nod seterusnya dalam urutan.

Kelas LinkedList memperluaskan kelas abstrakSequentialList dan melaksanakan antara muka senarai. Oleh itu, kaedah antara muka senarai boleh digunakan oleh senarai LinkedL. Kaedah GET () boleh digunakan untuk mengakses elemen senarai. Kaedah Tambah () boleh digunakan untuk menambah elemen ke senarai. Kaedah keluarkan () digunakan untuk mengeluarkan elemen keluar dari senarai. Rujuk program di bawah.

Rajah 02: Contoh dengan LinkedList

Menurut program di atas, objek LinkedList dibuat.  Menggunakan kaedah Tambah, elemen boleh ditambah secara dinamik. Unsur -unsur "a", "b", "c", "d" dan "e" ditambah menggunakan kaedah tambah. Kaedah keluarkan digunakan untuk mengeluarkan elemen dari senarai. Semasa melewati 4 ke kaedah mengeluarkan, huruf dalam indeks ke -4 iaitu "e" dikeluarkan dari senarai. Apabila berulang menggunakan gelung untuk, huruf A, B, C dan D akan mencetak.

Apakah persamaan antara ArrayList dan LinkedList?

  • Kedua -dua ArrayList dan LinkedList melaksanakan antara muka senarai.
  • Kedua -dua ArrayList dan LinkedList boleh mengandungi elemen pendua.
  • Kedua -dua ArrayList dan LinkedList mengekalkan urutan penyisipan.

Apakah perbezaan antara ArrayList dan LinkedList?

Arraylist vs LinkedList

ArrayList adalah kelas yang memanjangkan senarai abstrak dan melaksanakan antara muka senarai yang menggunakan array dinamik untuk menyimpan elemen data. LinkedList adalah kelas yang memanjangkan senarai abstrak dan alat pengikat, deque, antaramuka giliran, yang secara dalaman menggunakan senarai dikaitkan dua kali ganda untuk menyimpan elemen data.
 Mengakses elemen
Mengakses unsur -unsur arraylist lebih cepat daripada senarai linkedl. Mengakses elemen linkedlist lebih perlahan daripada arraylist.
Memanipulasi elemen
Memanipulasi unsur -unsur arraylist lebih perlahan daripada senarai yang dipautkan. Memanipulasi unsur -unsur linkedlist lebih cepat daripada arraylist.
 Tingkah laku
ArrayList berfungsi sebagai senarai. LinkedList berfungsi sebagai senarai dan barisan.

Ringkasan - Arraylist vs LinkedList

Rangka kerja koleksi membolehkan bekerja dengan struktur data seperti senarai, pokok, peta dan set. Senarai ini adalah antara muka kerangka koleksi. Artikel ini membincangkan perbezaan antara ArrayList dan LinkedList. ArrayList adalah kelas yang memanjangkan senarai abstrak dan melaksanakan antara muka senarai yang menggunakan array dinamik untuk menyimpan elemen data. LinkedList adalah kelas yang memanjangkan senarai abstrak dan alat pengikat, deque, antaramuka giliran, yang secara dalaman menggunakan senarai dikaitkan dua kali ganda untuk menyimpan elemen data. Itulah perbezaan antara arraylist dan linkedlist.

Rujukan:

1.Pengenalan kepada senarai yang dipautkan | Tutorial Struktur Data | KajianTonIght. Terdapat di sini
2."LinkedList di Java - Javatpoint.", Titik, tersedia di sini
3."Kelas Java Arraylist - Javatpoint."Titik, tersedia di sini