Perbedaan Antara Daftar Array dan Vektor

Perbedaan Antara Daftar Array dan Vektor
Perbedaan Antara Daftar Array dan Vektor

Video: Perbedaan Antara Daftar Array dan Vektor

Video: Perbedaan Antara Daftar Array dan Vektor
Video: Belajar C++ [Dasar] - 38 - Pointer 2024, Juli
Anonim

Daftar Array vs Vektor

Daftar array dapat dilihat sebagai array dinamis, yang dapat bertambah besar ukurannya. Karena alasan ini, programmer tidak perlu mengetahui ukuran daftar array ketika dia mendefinisikannya. Vektor juga dapat dilihat sebagai array yang dapat bertambah besar ukurannya. Vektor dapat dengan mudah dialokasikan dan dapat digunakan ketika ukuran penyimpanan yang dibutuhkan tidak diketahui sampai runtime.

Apa itu Daftar Array?

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

Apa itu Vektor?

Vector juga merupakan array yang dapat bertambah besar ukurannya. Vektor dapat dengan mudah dialokasikan dan dapat digunakan ketika ukuran penyimpanan yang dibutuhkan tidak diketahui sampai runtime. Vektor juga hanya dapat menampung objek dan tidak dapat menampung tipe primitif. Vektor disinkronkan, oleh karena itu dapat digunakan dengan aman di lingkungan multithreaded. Vektor disediakan dengan metode untuk menambahkan objek, menghapus objek, dan mencari objek. Mirip dengan daftar array di java, vektor dapat dilalui menggunakan loop foreach, iterator atau hanya menggunakan indeks. Ketika datang ke Java, vektor telah dimasukkan sejak versi pertama Java.

Apa perbedaan antara Daftar Array dan Vektor?

Meskipun daftar array dan vektor sangat mirip dengan array dinamis yang dapat bertambah besar ukurannya, mereka memiliki beberapa perbedaan penting. Perbedaan utama antara daftar array dan vektor adalah bahwa vektor disinkronkan sedangkan daftar array tidak disinkronkan. Oleh karena itu menggunakan daftar array di lingkungan multithreaded tidak akan cocok, sementara vektor dapat digunakan dengan aman di lingkungan multithreaded (karena mereka aman untuk thread). Tetapi sinkronisasi dalam vektor akan menyebabkan penurunan kinerja. Oleh karena itu bukanlah ide yang baik untuk menggunakan vektor dalam lingkungan ulir tunggal. Secara internal, daftar array dan vektor menggunakan array untuk menyimpan objek. Ketika ruang saat ini tidak cukup, vektor akan menggandakan ukuran larik internalnya, sementara daftar susunan meningkatkan ukuran larik internalnya sebesar 50%. Namun saat menggunakan daftar array dan vektor, dengan memberikan kapasitas awal yang sesuai, pengubahan ukuran array internal yang tidak perlu dapat dihindari. Dalam situasi dimana laju pertumbuhan data diketahui, penggunaan vektor akan lebih cocok karena nilai inkremental dari vektor dapat ditentukan.

Direkomendasikan: