Skip to main content

Apa itu Iterator Vektor?

Iterator vektor adalah konstruk bahasa komputer yang memungkinkan program untuk membaca nilai data yang terkandung dalam koleksi khusus yang disebut vektor.Vektor adalah objek yang digunakan untuk mengelompokkan nilai data terkait, mirip dengan array dan daftar.Banyak bahasa komputer yang berbeda, terutama Java dan C ++, berisi vektor dan iterator terkait mereka.Setiap bahasa menggunakan sintaks yang berbeda untuk iterator, tetapi mekanisme yang mendasari dalam semua bahasa adalah akses individu ke setiap anggota yang mungkin dari kelompok vektor.

Bergerak melalui vektor menggunakan iterator sering disebut melintasi atau berulang.Iterator vektor juga dapat digunakan untuk secara eksplisit mengidentifikasi objek tertentu dalam koleksi vektor.Ketika identifikasi ini dilakukan, objek diidentifikasi oleh indeksnya dalam vektor, bukan oleh karakteristik objek itu sendiri.Tindakan dapat dilakukan pada objek jika iterator diereferping, memberikan program akses eksplisit ke objek daripada vektor.

Iterator vektor memiliki peluang sangat kecil untuk menghadapi kesalahan di luar batas yang dapat terjadi saat mengulangi array.Meskipun vektor pada dasarnya adalah array yang dimuliakan ketika didekonstruksi, vektor hampir selalu memiliki beberapa jenis batas yang memeriksa yang memastikan vektor iterator tetap pada indeks yang tepat.Saat melintasi vektor, iterator, jika dipanggil dengan benar, selalu dimulai pada awal vektor dan berakhir tepat pada akhir.Spesifikasi eksplisit dari indeks yang salah masih dimungkinkan dalam konteks tertentu, tetapi batas bawaan memeriksa vektor, yang diterjemahkan ke iterator mereka, mencegah keluar dari masalah meluap., tetapi Java secara eksplisit melarang ini terjadi.Tindakan Javas dalam keadaan ini jauh lebih aman karena mengubah vektor saat iterator bergerak di atasnya dapat menyebabkan iterator membaca secara tidak sengaja di luar vektor.Mencoba menambah atau menghapus item dari vektor saat iterasi sangat berbahaya, terutama jika indeks awal dan akhir yang harus ditutup oleh vektor adalah kode yang keras.Iterator vektor tidak dilengkapi untuk menangani perubahan mendadak dalam vektor, dan vektor dimaksudkan untuk relatif statis saat dilalui.

Iterator vektor dapat implisit atau eksplisit, dan baik bentuk sintaksis menjalankan traversal dengan lancar.Meskipun diberi kode untuk efisiensi, iterator vektor dapat diperlambat oleh vektor yang sangat besar.Dalam hal ini, pengkodean keras indeks akhir dari vektor mempercepat traversal.Masalah ini tidak terjadi dengan vektor kecil, jadi pengkodean keras indeks akhir tidak menyebabkan speedup yang cukup besar.Hard Coding Indeks akhir dapat meningkatkan risiko overflow, jadi secara umum itu harus dilakukan dengan hemat.