Perbedaan antara Array dan ArrayList Perbedaan antara

Anonim

Apa itu Array dan ArrayList?

Baik Array dan ArrayList adalah struktur data berbasis indeks yang sering digunakan dalam program Java. Secara konseptual, ArrayList didukung secara internal oleh array, bagaimanapun, memahami perbedaan antara keduanya adalah kunci untuk menjadi pengembang Java yang hebat. Ini adalah langkah awal untuk memulai, terutama para pemula yang baru mulai coding. Meskipun keduanya digunakan untuk menyimpan elemen di Jawa, yang bisa berupa primitif atau objek, keduanya memiliki perbedaan dalam hal fungsi dan kinerja. Perbedaan utama antara keduanya adalah Array bersifat 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. Resizable

Salah satu perbedaan utama dan nyata antara kedua struktur data adalah bahwa Array bersifat statis yang berarti merupakan tipe data panjang tetap sementara ArrayList bersifat dinamis yang berarti struktur data panjang variabel. Secara teknis, panjang Array tidak dapat diubah atau dimodifikasi begitu objek Array dibuat. Ini berisi kumpulan elemen berurutan dari tipe data yang sama. Array di Jawa bekerja berbeda dari fungsinya di C / C ++. ArrayList, di sisi lain, dapat mengubah ukuran dirinya dan susunannya bisa tumbuh sesuai kebutuhan. Karena ini adalah struktur data dinamis, elemen dapat ditambahkan dan dihapus dari daftar.

  1. Generics

Anda tidak dapat membuat kelas Array Generik dari antarmuka di Jawa sehingga array dan generik tidak berjalan beriringan sehingga tidak mungkin membuat Generik Array karena satu alasan dasar bahwa array bersifat kovarian sedangkan obat generik bersifat invarian. Sementara Array adalah struktur data fixed-length, ia berisi objek kelas atau primitif tipe data spesifik yang sama. Jadi jika Anda mencoba untuk menyimpan tipe data yang berbeda selain yang ditentukan saat membuat objek Array, itu hanya melempar "ArrayStoreException". ArrayList, di sisi lain, mendukung Generics untuk memastikan keamanan jenis.

Primite tipe data primitif seperti int, double, long, dan char tidak diperbolehkan dalam ArrayList. Ini agak memegang benda dan primitif tidak dianggap benda di Jawa. Array, di sisi lain, dapat menyimpan benda primitif dan juga benda di Jawa karena merupakan salah satu struktur data yang paling efisien di Jawa karena menyimpan benda. Ini adalah tipe data gabungan yang dirancang untuk menampung objek yang bisa berupa tipe yang sama atau berbeda.
  1. Panjang

Untuk mendapatkan panjang Array, kode tersebut perlu mengakses atribut panjang karena seseorang harus mengetahui panjangnya untuk melakukan operasi pada Array.Sementara ArrayList menggunakan ukuran () metode untuk menentukan ukuran ArrayList, agak berbeda dengan menentukan panjang Array. Atribut method ukuran () menentukan jumlah elemen dalam ArrayList, yang pada gilirannya adalah kapasitas ArrayList.

  1. Sebagai contoh

:

kelas publik ArrayLengthTest { public static void main (String [] args) {

ArrayList arrList = new ArrayList ();

String [] item = {"Satu", "Dua", "Tiga"};

untuk (String str: item) {

arrList. tambahkan (str);

}

int size = item. ukuran();

Sistem di luar. println (ukuran);

}

}

Implementasi

Array adalah komponen pemrograman asli di Jawa yang dibuat secara dinamis dan mereka menggunakan operator penugasan untuk menahan elemen, sementara ArrayList menggunakan add () atribut untuk menyisipkan elemen. ArrayList adalah kelas dari kumpulan framework di Java yang menggunakan seperangkat metode yang ditentukan untuk mengakses dan memodifikasi elemen. Ukuran ArrayList dapat ditingkatkan atau menurun secara dinamis. Elemen dalam array disimpan di lokasi memori bersebelahan dan ukurannya tetap statis.

  1. Performance

Sementara kedua struktur data memberikan kinerja yang serupa seperti ArrayList yang didukung oleh Array, satu memiliki sedikit keunggulan dibanding yang lain terutama dalam hal waktu CPU dan penggunaan memori. Katakanlah, jika Anda tahu ukuran array, Anda mungkin akan pergi dengan ArrayList. Namun, iterasi pada Array sedikit lebih cepat daripada mengulangi ArrayList. Jika program melibatkan sejumlah besar primitif, array akan tampil secara signifikan lebih baik daripada ArrayList, baik dari segi 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.

  1. Array Vs. Arraylist

Array

ArrayList

Array adalah struktur data panjang tetap yang panjangnya tidak dapat dimodifikasi begitu objek array dibuat. ArrayList bersifat dinamis yang berarti dapat mengubah ukuran dirinya untuk tumbuh bila diperlukan.
Ukuran array tetap statis selama program berlangsung. Ukuran ArrayList dapat tumbuh secara dinamis tergantung pada beban dan kapasitas.
Menggunakan operator tugas untuk menyimpan elemen. Menggunakan atribut add () untuk menyisipkan elemen.
Ini dapat berisi benda primitif dan juga objek dengan tipe data yang sama atau berbeda. Primitif tidak diizinkan masuk ArrayList. Ini hanya bisa berisi tipe objek.
Array dan Generik tidak berjalan beriringan. Generik diperbolehkan di ArrayList.
Array bisa berbentuk multi dimensi. ArrayList adalah satu dimensi.
Ini adalah komponen pemrograman asli tempat elemen disimpan di lokasi memori bersebelahan. Ini adalah kelas dari kerangka koleksi Java dimana objek tidak pernah disimpan di lokasi bersebelahan.
Variabel panjang digunakan untuk menentukan panjang Array. Ukuran () metode digunakan untuk menentukan ukuran ArrayList.
Memori kurang dari ArrayList untuk menyimpan elemen atau objek tertentu. Membawa lebih banyak memori daripada Array untuk menyimpan benda.
Iterasi pada array lebih cepat daripada iterasi pada ArrayList. Menguraikan ArrayList secara signifikan lebih lambat dalam hal kinerja.
Ringkasan Sementara beberapa orang mungkin berpikir bahwa menerapkan array dalam sebuah program bisa mendapatkan hasil lebih cepat daripada melakukan hal yang sama dengan ArrayLists karena alasan sederhana bahwa array adalah struktur data tingkat rendah, kinerja dapat bervariasi berdasarkan operasi Anda berkinerja kembali. Nah, panjang sebuah Array tetap, sedangkan ukuran ArrayList bisa meningkat atau menurun secara dinamis, jadi ArrayList memiliki sedikit keunggulan dibanding Array dalam hal fungsionalitas. Namun, terlepas dari perbedaan, mereka juga memiliki beberapa kesamaan. Keduanya adalah struktur data berbasis indeks di Jawa yang memungkinkan Anda untuk menyimpan objek dan keduanya memungkinkan nilai null serta duplikat. Nah, jika Anda tahu ukuran objek sebelumnya, Anda harus pergi dengan array, dan jika Anda tidak yakin tentang ukurannya, pergilah dengan ArrayList.