Perbezaan Antara ArrayList dan LinkedList

Isi kandungan:

Perbezaan Antara ArrayList dan LinkedList
Perbezaan Antara ArrayList dan LinkedList

Video: Perbezaan Antara ArrayList dan LinkedList

Video: Perbezaan Antara ArrayList dan LinkedList
Video: Java SE. Урок 34. Коллекции ArrayList & LinkedList 2024, Disember
Anonim

Perbezaan Utama – ArrayList lwn LinkedList

Koleksi berguna untuk menyimpan data. Dalam tatasusunan biasa, saiz tatasusunan ditetapkan. Kadangkala ia diperlukan untuk mencipta tatasusunan yang boleh berkembang mengikut keperluan. Bahasa pengaturcaraan seperti Java mempunyai koleksi. Ia adalah rangka kerja dengan satu set kelas dan antara muka. Ia berfungsi sebagai bekas untuk sekumpulan unsur. Koleksi membenarkan untuk menyimpan, mengemas kini, mendapatkan semula set elemen. Ia membantu untuk bekerja dengan struktur data seperti senarai, set, pokok dan peta. Senarai itu ialah antara muka rangka kerja Koleksi. ArrayList dan LinkedList ialah dua kelas dalam rangka kerja koleksi. Mereka melaksanakan antara muka koleksi dan antara muka Senarai. Artikel ini membincangkan perbezaan antara ArrayList dan LinkedList. ArrayList ialah kelas yang memanjangkan AbstractList dan melaksanakan antara muka Senarai, yang secara dalaman menggunakan tatasusunan dinamik untuk menyimpan elemen data. LinkedList ialah kelas yang memanjangkan AbstractSequentialList dan melaksanakan antara muka Senarai, Deque dan Queue, yang secara dalaman menggunakan senarai terpaut dua kali untuk menyimpan elemen data. Itulah perbezaan utama antara ArrayList dan LinkedList.

Apakah itu ArrayList?

Kelas ArrayList digunakan untuk membuat tatasusunan dinamik. Tidak seperti tatasusunan biasa, saiz tatasusunan dinamik tidak tetap. Objek yang dicipta menggunakan kelas ArrayList dibenarkan untuk menyimpan satu set elemen dalam senarai. Kapasiti meningkat secara automatik, jadi pengaturcara boleh menambah elemen pada senarai. Kelas ArrayList memanjangkan kelas AbstractList yang melaksanakan antara muka Senarai. Oleh itu, kaedah antara muka Senarai boleh digunakan oleh ArrayList. Untuk mengakses elemen, kaedah get() digunakan. Kaedah add() boleh digunakan untuk menambah elemen pada senarai. Kaedah remove() digunakan untuk mengalih keluar elemen daripada senarai. Rujuk program di bawah.

Perbezaan Antara ArrayList dan LinkedList
Perbezaan Antara ArrayList dan LinkedList
Perbezaan Antara ArrayList dan LinkedList
Perbezaan Antara ArrayList dan LinkedList

Rajah 01: Contoh ArrayList

Mengikut program di atas, objek ArrayList dicipta. Menggunakan kaedah tambah, elemen boleh ditambah secara dinamik. Elemen "A", "B", "C", "D" dan "E" ditambah menggunakan kaedah tambah. Kaedah keluarkan digunakan untuk mengalih keluar elemen daripada senarai. Apabila melepasi 4 kepada kaedah buang, huruf dalam indeks ke-4 iaitu “E” dialih keluar daripada senarai. Apabila lelaran melalui senarai menggunakan gelung for, huruf A, B, C dan D akan dicetak.

Apakah itu LinkedList?

Sama seperti ArrayList, LinkedList digunakan untuk menyimpan elemen data secara dinamik. Objek yang dibuat menggunakan kelas LinkedList dibenarkan untuk menyimpan set elemen dalam senarai. Kapasiti meningkat secara automatik, jadi pengaturcara boleh menambah elemen pada senarai. Ia secara dalaman menggunakan senarai berganda untuk menyimpan data. Dalam senarai berganda, data disimpan sebagai nod. Setiap nod mengandungi dua pautan. Pautan pertama menunjuk ke nod sebelumnya. Pautan seterusnya menghala ke nod seterusnya dalam jujukan.

Kelas LinkedList memanjangkan kelas AbstractSequentialList dan melaksanakan antara muka Senarai. Oleh itu, kaedah antara muka Senarai boleh digunakan oleh LinkedList. Kaedah get() boleh digunakan untuk mengakses elemen senarai. Kaedah add() boleh digunakan untuk menambah elemen pada senarai. Kaedah remove() digunakan untuk mengalih keluar elemen daripada senarai. Rujuk program di bawah.

Perbezaan Utama Antara ArrayList dan LinkedList
Perbezaan Utama Antara ArrayList dan LinkedList
Perbezaan Utama Antara ArrayList dan LinkedList
Perbezaan Utama Antara ArrayList dan LinkedList

Rajah 02: Contoh dengan LinkedList

Menurut program di atas, objek LinkedList dicipta. Menggunakan kaedah tambah, elemen boleh ditambah secara dinamik. Elemen "A", "B", "C", "D" dan "E" ditambah menggunakan kaedah tambah. Kaedah keluarkan digunakan untuk mengalih keluar elemen daripada senarai. Apabila menghantar 4 kepada kaedah buang, huruf dalam indeks ke-4 iaitu “E” dialih keluar daripada senarai. Apabila melelaran menggunakan gelung for, huruf A, B, C dan D akan dicetak.

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 susunan sisipan.

Apakah Perbezaan Antara ArrayList dan LinkedList?

ArrayList lwn LinkedList

ArrayList ialah kelas yang memanjangkan AbstractList dan melaksanakan antara muka Senarai yang secara dalaman menggunakan tatasusunan dinamik untuk menyimpan elemen data. LinkedList ialah kelas yang memanjangkan AbstractSequentialList dan melaksanakan antara muka List, Deque, Queue, yang secara dalaman menggunakan senarai terpaut dua kali untuk menyimpan elemen data.
Mengakses Elemen
Mengakses elemen ArrayList adalah lebih pantas daripada LinkedList. Mengakses elemen LinkedList adalah lebih perlahan daripada ArrayList.
Memanipulasi Elemen
Memanipulasi elemen ArrayList adalah lebih perlahan daripada LinkedList. Memanipulasi elemen LinkedList adalah lebih pantas daripada ArrayList.
Tingkah laku
ArrayList berfungsi sebagai Senarai. LinkedList berfungsi sebagai Senarai dan Baris Gilir.

Ringkasan – ArrayList lwn LinkedList

Rangka kerja pengumpulan membolehkan bekerja dengan struktur data seperti senarai, pepohon, peta dan set. Senarai itu ialah antara muka rangka kerja koleksi. Artikel ini membincangkan perbezaan antara ArrayList dan LinkedList. ArrayList ialah kelas yang memanjangkan AbstractList dan melaksanakan antara muka Senarai yang secara dalaman menggunakan tatasusunan dinamik untuk menyimpan elemen data. LinkedList ialah kelas yang memanjangkan AbstractSequentialList dan melaksanakan antara muka List, Deque, Queue, yang secara dalaman menggunakan senarai terpaut dua kali untuk menyimpan elemen data. Itulah perbezaan antara ArrayList dan LinkedList.

Disyorkan: