Perbedaan Antara Arraylist Dan Vektor

Perbedaan Antara Arraylist Dan Vektor
Perbedaan Antara Arraylist Dan Vektor

Video: Perbedaan Antara Arraylist Dan Vektor

Video: Perbedaan Antara Arraylist Dan Vektor
Video: LinkedList vs ArrayList in Java | Differences between ArrayList and LinkedList | Edureka 2024, November
Anonim

Arraylist vs Vektor

Daftar larik dapat dilihat sebagai larik dinamis, yang ukurannya bisa bertambah. Karena alasan ini, pemrogram tidak perlu mengetahui ukuran daftar larik ketika dia mendefinisikannya. Vektor juga dapat dilihat sebagai larik yang ukurannya bisa bertambah. Vektor dapat dengan mudah dialokasikan dan dapat digunakan saat ukuran penyimpanan yang diperlukan tidak diketahui hingga runtime.

Apa itu Arraylist?

Daftar larik dapat dilihat sebagai larik dinamis, yang ukurannya bisa bertambah. Oleh karena itu daftar larik ideal untuk digunakan dalam situasi di mana Anda tidak mengetahui ukuran elemen yang diperlukan pada saat deklarasi. Di Java, daftar larik hanya bisa menampung objek, mereka tidak bisa menampung tipe primitif secara langsung (Anda bisa meletakkan tipe primitif di dalam objek atau menggunakan kelas pembungkus tipe primitif). Umumnya daftar larik dilengkapi dengan metode untuk melakukan penyisipan, penghapusan, dan pencarian. Kompleksitas waktu dalam mengakses suatu elemen adalah o (1), sedangkan penyisipan dan penghapusan memiliki kompleksitas waktu o (n). Di Java, daftar larik dapat dilintasi menggunakan foreach loop, iterator, atau cukup menggunakan indeks. Di Java, daftar larik diperkenalkan dari versi 1.2 dan merupakan bagian dari Kerangka Koleksi Java.

Apa itu Vektor?

Vektor juga merupakan larik yang ukurannya bisa bertambah. Vektor dapat dengan mudah dialokasikan dan dapat digunakan ketika ukuran penyimpanan yang diperlukan tidak diketahui hingga runtime. Vektor juga hanya dapat menampung objek dan tidak dapat menampung tipe primitif. Vektor disinkronkan, oleh karena itu dapat digunakan dengan aman di lingkungan multithread. Vektor dilengkapi dengan metode untuk menambahkan objek, menghapus objek, dan menelusuri objek. Mirip dengan daftar larik di java, vektor dapat dilintasi menggunakan foreach loop, iterator, atau cukup menggunakan indeks. Dalam hal Java, vektor telah disertakan sejak Java versi pertama.

Apa perbedaan antara Arraylist dan Vector?

Meskipun daftar larik dan vektor sangat mirip dengan larik dinamis yang dapat bertambah ukurannya, keduanya memiliki beberapa perbedaan penting. Perbedaan utama antara daftar larik dan vektor adalah bahwa vektor disinkronkan sedangkan daftar larik tidak tersinkronisasi. Oleh karena itu, menggunakan daftar larik di lingkungan multithread tidak akan cocok, sementara vektor dapat digunakan dengan aman di lingkungan multithread (karena aman untuk thread). Tetapi sinkronisasi dalam vektor akan menyebabkan penurunan kinerja. Oleh karena itu, menggunakan vektor dalam lingkungan thread tunggal bukanlah ide yang baik. Secara internal, baik daftar larik maupun vektor menggunakan larik untuk menampung objek. Jika ruang saat ini tidak mencukupi, vektor akan menggandakan ukuran larik internalnya, sedangkan daftar larik meningkatkan ukuran larik internalnya sebesar 50%. Tetapi ketika menggunakan daftar larik dan vektor, dengan memberikan kapasitas awal yang sesuai, pengubahan ukuran larik internal yang tidak perlu dapat dihindari. Dalam situasi di mana laju pertumbuhan data diketahui, penggunaan vektor akan lebih sesuai karena nilai tambahan vektor dapat ditentukan.

Direkomendasikan: