Perbedaan antara array dan arraylist

Perbedaan antara array dan arraylist

Array vs ArrayLists

Array adalah struktur data yang paling umum digunakan untuk menyimpan kumpulan elemen. Sebagian besar bahasa pemrograman menyediakan metode untuk dengan mudah mendeklarasikan array dan elemen akses dalam array. Daftar array dapat dilihat sebagai array dinamis, yang dapat tumbuh dalam ukuran. Karena alasan ini, programmer tidak perlu mengetahui ukuran arraylist saat dia mendefinisikannya.

Apa itu array?

Ditunjukkan pada Gambar 1, adalah sepotong kode yang biasanya digunakan untuk mendeklarasikan dan menetapkan nilai ke array. Gambar 2 menggambarkan bagaimana suatu array akan terlihat dalam memori.

nilai int [5];

Nilai [0] = 100;

nilai [1] = 101;

nilai [2] = 102;

nilai [3] = 103;

Nilai [4] = 104;

Gambar 1: Kode untuk mendeklarasikan dan menetapkan nilai ke array


100 101 102 103 104
Indeks: 0 1 2 3 4

Gambar 2: Array yang disimpan dalam memori

Kode di atas, tentukan array yang dapat menyimpan 5 bilangan bulat dan diakses menggunakan indeks 0 hingga 4. Salah satu sifat penting dari suatu array adalah bahwa, seluruh array dialokasikan sebagai satu blok memori dan setiap elemen mendapatkan ruang sendiri dalam array. Setelah array didefinisikan, ukurannya diperbaiki. Jadi jika Anda tidak yakin tentang ukuran array pada waktu kompilasi, Anda harus menentukan array yang cukup besar untuk berada di sisi yang aman. Tapi, sebagian besar waktu, kita sebenarnya akan menggunakan lebih sedikit elemen daripada yang telah kita alokasikan. Jadi sejumlah besar memori sebenarnya terbuang. Di sisi lain jika "array yang cukup besar" sebenarnya tidak cukup besar, program akan macet.

Apa itu daftar array?

Daftar array dapat dilihat sebagai array dinamis, yang dapat tumbuh dalam ukuran. Oleh karena itu daftar array sangat ideal untuk digunakan dalam situasi di mana Anda tidak tahu ukuran elemen yang diperlukan pada saat deklarasi. Di Java, daftar array hanya dapat memegang objek, mereka tidak dapat memegang tipe primitif secara langsung (Anda dapat meletakkan tipe primitif di dalam suatu objek atau menggunakan kelas pembungkus tipe primitif). Umumnya daftar array diberikan metode untuk melakukan penyisipan, penghapusan dan pencarian. Kompleksitas waktu mengakses elemen adalah O (1), sementara penyisipan dan penghapusan memiliki kompleksitas waktu O (n). Di Java, daftar array dapat dilalui menggunakan loop foreach, iterator atau hanya menggunakan indeks.

Apa perbedaan antara array dan arraylist

Meskipun array dan daftar array serupa dalam arti bahwa keduanya digunakan untuk menyimpan koleksi elemen, mereka berbeda dalam cara mereka didefinisikan. Ukuran array harus diberikan ketika array ditentukan, tetapi Anda dapat mendefinisikan daftar array tanpa mengetahui ukuran sebenarnya. Anda dapat menambahkan elemen ke daftar array setelah didefinisikan dan ini tidak mungkin dengan array. Namun di Java, arraylist tidak dapat memiliki tipe primitif, tetapi array dapat digunakan untuk memegang tipe primitif. Tetapi jika Anda membutuhkan struktur data yang dapat memvariasikan ukurannya, arraylist akan menjadi pilihan terbaik.