Disyorkan, 2021

Pilihan Editor

Perbezaan Antara Senarai dan ArrayList di Jawa

Senarai dan ArrayList adalah ahli rangka kerja Koleksi. Senarai adalah kumpulan unsur dalam urutan dimana setiap elemen adalah objek dan elemen diakses oleh kedudukan di sana (indeks). ArrayList mencipta pelbagai objek dinamik yang meningkatkan atau mengurangkan saiz apabila diperlukan. Perbezaan utama antara Senarai dan ArrayList ialah Senarai adalah antara muka dan ArrayList adalah kelas. Marilah kita mengkaji perbezaan antara Senarai dan ArrayList dengan bantuan carta perbandingan yang ditunjukkan di bawah.

Carta Perbandingan

Asas untuk PerbandinganSenaraiArrayList
AsasSenarai adalah Antara MukaArrayList adalah Class Collection standard.
SintaksSenarai antara mukakelas ArrayList
Perluas / MelaksanakanAntara muka senarai memperluaskan Rangka Kerja Koleksi.ArrayList meluaskan AbstrakList dan melaksanakan Antara muka Senarai.
Ruang namaSystem.Collections.Generic.System.Collections.
KerjaIa digunakan untuk membuat senarai unsur (objek) yang dikaitkan dengan nombor indeks mereka.ArrayList digunakan untuk membuat pelbagai dinamik yang mengandungi objek.

Definisi Senarai

Senarai adalah antara muka yang memanjangkan kerangka Pengumpulan . Antara muka senarai menerangkan pengumpulan unsur-unsur yang disusun secara berurutan. Antara muka senarai dilaksanakan oleh kelas koleksi standard seperti ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack . Antara muka senarai mempunyai elemen yang dikaitkan dengan nombor indeks mereka. Anda boleh mengakses elemen dalam senarai dengan kedudukannya (indeks) dalam senarai. Senarai yang dibuat menggunakan senarai Antara muka senarai dengan indeks berasaskan sifar.

Di samping kaedah yang diwarisi oleh rangka kerja Koleksi, antara muka Senarai turut mentakrifkan beberapa kaedahnya sendiri. Kaedah yang ditambahkan oleh antara muka Senarai ialah, tambahkan (int, E) dan addAll (int, Koleksi) . Kaedah ini menambah elemen ke senarai oleh indeks mereka. Kaedah di dalam senarai mungkin membuang pengecualian seperti UnsupportedOperationException jika kaedah tidak dapat mengubah suai senarai. Apabila satu objek dalam senarai tidak serasi dengan objek lain dalam senarai, maka ClassCastException dilemparkan. Unsur-unsur yang tidak dibenarkan dalam senarai jika anda cuba memasukkan objek null dalam senarai, NullPointerException dibuang.

Anda boleh mendapatkan elemen dari senarai menggunakan kaedah get () . Anda boleh menetapkan nilai elemen dalam senarai menggunakan kaedah set () . Anda juga boleh mendapatkan sublist dari senarai menggunakan sublist method () . Ia menjadi mudah untuk beroperasi pada sublist dan bukan senarai.

Definisi ArrayList

Salah satu kelas Koleksi standard ialah ArrayList yang meluaskan kelas AbstractList dan juga melaksanakan antara muka Senarai . Kelas ArrayList digunakan untuk membuat array dinamik yang tumbuh dan menyusut apabila diperlukan. Senarai yang dibuat dengan menggunakan kelas ArrayList tidak lain hanyalah pelbagai objek. Di Jawa, array standard mempunyai panjang tetap, jadi anda mesti tahu saiz array terlebih dahulu. Tetapi, mungkin anda mungkin tidak mengetahui berapa lama array yang anda perlukan sehingga masa berjalan. Oleh itu, rangka kerja Koleksi memperkenalkan kelas ArrayList untuk mengatasi masalah ini.

ArrayList mempunyai konstruktor yang membentuk array dengan kapasiti intialnya. Walaupun keupayaan objek ArrayList kelas meningkat secara automatik apabila unsur ditambah pada array, namun anda secara manual boleh meningkatkan kapasiti objek ArrayList menggunakan kaedah checkCapacity () . Adalah lebih baik untuk meningkatkan kapasiti array pada mulanya dan bukannya mengembalikan semula memori kemudian. Kerana pengagihan semula adalah lebih mahal daripada mengagihkan memori sekaligus.

Perbezaan Utama Antara Senarai dan ArrayList

  1. Salah satu perbezaan yang paling penting antara Senarai dan ArrayList ialah senarai itu adalah antara muka dan ArrayList adalah kelas Koleksi standard.
  2. Antara muka senarai meluaskan kerangka Pengumpulan sedangkan, ArrayList memanjangkan AbstrakList Class dan ia melaksanakan antara muka Senarai .
  3. Ruang nama untuk antara muka Senarai adalah System.Collection.Generic sedangkan, ruang nama untuk ArrayList adalah System.Collection .
  4. Antara muka senarai mewujudkan koleksi elemen yang disimpan dalam urutan dan dikenal pasti atau diakses oleh nombor indeks mereka. Sebaliknya, ArrayList mencipta pelbagai objek di mana array boleh berkembang secara dinamik apabila diperlukan.

Kesimpulan:

ArrayList mengatasi masalah array statik dalam Java standard iaitu array tidak dapat bertambah besar apabila ia dibuat. Apabila array dicipta menggunakan ArrayList, array dinamik dicipta yang boleh membesar dan mengecilkan saiz apabila diperlukan. ArrayList kelas Koleksi standard memanjangkan antara muka Senarai.

Top