Perbedaan antara array dan arraylist

Perbedaan antara array dan arraylist

Apa itu array dan arraylist?

Array dan ArrayList adalah struktur data berbasis indeks yang sering digunakan dalam program Java. Secara konseptual, ArrayList didukung secara internal oleh array, namun, memahami perbedaan antara keduanya adalah kunci untuk menjadi pengembang Java yang hebat. Ini adalah langkah dasar yang cukup untuk memulai, terutama pemula yang baru saja mulai mengkode. Sementara keduanya digunakan untuk menyimpan elemen di Java, yang dapat berupa primitif atau objek, mereka memiliki perbedaan yang adil dalam hal fungsi dan kinerja. Perbedaan utama antara keduanya adalah bahwa array statis sedangkan arraylist bersifat dinamis. Artikel ini membandingkan keduanya pada berbagai aspek sehingga Anda dapat memilih satu dari yang lain.

Perbedaan antara array dan arraylist

  1. Dapat diatur ulang

Salah satu perbedaan utama dan nyata antara dua struktur data adalah bahwa array bersifat statis yang berarti adalah tipe data panjang tetap sementara arraylist bersifat dinamis yang berarti itu adalah struktur data panjang variabel. Dalam istilah teknis, panjang array tidak dapat diubah atau dimodifikasi setelah objek array dibuat. Ini berisi kumpulan elemen berurutan dari tipe data yang sama. Array di java bekerja secara berbeda dari yang berfungsi dalam c/c++. Daftar array, di sisi lain, dapat mengubah ukurannya sendiri dan array dapat tumbuh sesuai kebutuhan. Karena ini adalah struktur data yang dinamis, elemen dapat ditambahkan dan dihapus dari daftar.

  1. Generik

Anda tidak dapat membuat array kelas generik antarmuka di java sehingga array dan obat generik tidak berjalan seiring sehingga tidak mungkin membuat array generik karena satu alasan dasar bahwa array kovarian sementara obat generik invarian. Sementara array adalah struktur data panjang tetap, ia berisi objek dari kelas yang sama atau primitif dari tipe data tertentu. Jadi jika Anda mencoba menyimpan tipe data yang berbeda selain yang ditentukan saat membuat objek array, itu hanya melempar "ArrayStoreEexception". ArrayList, di sisi lain, tidak mendukung generik untuk memastikan jenis-keamanan.

  1. Primitif

Jenis data primitif seperti int, ganda, panjang, dan char tidak diizinkan di arraylist. Lebih baik memegang benda dan primitif tidak dianggap sebagai objek di Java. Array, di sisi lain, dapat memegang primitif serta objek di Java karena merupakan salah satu struktur data yang paling efisien di Java untuk menyimpan objek. Ini adalah tipe data agregat yang dirancang untuk menampung objek yang dapat berupa tipe yang sama atau berbeda.

  1. Panjang

Untuk mendapatkan panjang array, kode perlu mengakses atribut panjang karena seseorang harus tahu panjang untuk melakukan operasi pada array. Sementara ArrayList menggunakan metode size () untuk menentukan ukuran arraylist, itu agak berbeda dari menentukan panjang array. Atribut metode size () menentukan jumlah elemen dalam daftar array, yang pada gilirannya adalah kapasitas arraylist.

Misalnya:

Public Class ArrayLengthTest

public static void main (string [] args)

Arraylist arrlist = new arraylist ();

String [] item = "satu", "dua", "tiga";

untuk (string str: item)

Arrlist.tambahkan (str);

ukuran int = item.ukuran();

Sistem.keluar.println (ukuran);

  1. Penerapan

Array adalah komponen pemrograman asli di java yang dibuat secara dinamis dan mereka menggunakan operator penugasan untuk menampung elemen, sementara arraylist menggunakan atribut add () untuk memasukkan elemen. ArrayList adalah kelas dari kerangka kerja koleksi di java yang menggunakan satu set metode yang ditentukan untuk mengakses dan memodifikasi elemen. Ukuran arraylist dapat ditingkatkan atau dikurangi secara dinamis. Elemen dalam array disimpan di lokasi memori yang berdekatan dan ukurannya tetap statis di seluruh.

  1. Pertunjukan

Sementara kedua struktur data memberikan kinerja yang serupa dengan daftar array didukung oleh array, seseorang memiliki sedikit keunggulan atas yang lain sebagian besar dalam hal waktu CPU dan penggunaan memori. Katakanlah, jika Anda tahu ukuran array, Anda cenderung pergi dengan arraylist. Namun, iterasi di atas array sedikit lebih cepat daripada mengulangi daftar array. Jika program melibatkan sejumlah besar primitif, array akan berkinerja lebih baik secara signifikan daripada arraylist, baik dalam hal waktu dan memori. Array adalah bahasa pemrograman tingkat rendah yang dapat digunakan dalam implementasi koleksi. Namun, kinerja dapat bervariasi tergantung pada operasi yang Anda lakukan.

Array vs. Daftar Array

Himpunan Daftar Array
Array adalah struktur data panjang tetap yang panjangnya tidak dapat dimodifikasi setelah objek array dibuat. ArrayList bersifat dinamis yang berarti dapat mengubah ukuran dirinya untuk tumbuh saat dibutuhkan.
Ukuran array tetap statis di seluruh program. Ukuran arraylist dapat tumbuh secara dinamis tergantung pada beban dan kapasitas.
Menggunakan operator penugasan untuk menyimpan elemen. Itu menggunakan atribut add () untuk memasukkan elemen.
Itu dapat berisi primitif serta objek dari tipe data yang sama atau berbeda. Primitif tidak diperbolehkan di arraylist. Itu hanya bisa berisi jenis objek.
Array dan generik tidak berjalan seiring. Obat generik diizinkan di arraylist.
Array bisa multi-dimensi. ArrayList adalah dimensi tunggal.
Ini adalah komponen pemrograman asli di mana elemen disimpan di lokasi memori yang berdekatan. Ini adalah kelas dari kerangka kerja koleksi java di mana benda tidak pernah disimpan di lokasi yang berdekatan.
Variabel panjang digunakan untuk menentukan panjang array. Metode size () digunakan untuk menentukan ukuran arraylist.
Mengambil lebih sedikit memori daripada arraylist untuk menyimpan elemen atau objek tertentu. Mengambil lebih banyak memori daripada array untuk menyimpan objek.
Iterasi di atas array lebih cepat dari iterasi di atas daftar array. Iterasi di atas daftar array secara signifikan lebih lambat dalam hal kinerja.

Ringkasan

Sementara beberapa orang mungkin berpikir bahwa menerapkan array dalam suatu program dapat memperoleh hasil lebih cepat daripada melakukan hal yang sama dengan daftar array karena alasan sederhana bahwa array adalah struktur data tingkat rendah, kinerja dapat bervariasi berdasarkan operasi apa yang Anda lakukan. Nah, panjang array diperbaiki, sedangkan ukuran arraylist dapat ditingkatkan atau diturunkan secara dinamis, sehingga arraylist memiliki sedikit keunggulan di atas array dalam hal fungsionalitas. Namun, terlepas dari perbedaannya, mereka juga memiliki beberapa kesamaan. Keduanya adalah struktur data berbasis indeks di Java yang memungkinkan Anda untuk menyimpan objek dan keduanya memungkinkan nilai nol maupun duplikat. Nah, jika Anda tahu ukuran objek sebelumnya, Anda harus menggunakan array, dan jika Anda tidak yakin tentang ukurannya, pergi dengan arraylist.