java.util.vector menyediakan kelas vektor (vektor) untuk mengimplementasikan fungsi seperti array dinamis. Tidak ada konsep pointer dalam bahasa Java, tetapi menggunakan pointer dengan benar dan fleksibel dapat sangat meningkatkan kualitas program. Misalnya, apa yang disebut "array dinamis" dalam C dan C ++ umumnya diimplementasikan oleh pointer. Untuk menebus kekurangan ini, Java menyediakan perpustakaan kelas yang kaya untuk memudahkan penggunaan oleh programmer, dan kelas vektor adalah salah satunya. Bahkan, fleksibilitas menggunakan array juga dapat menyelesaikan fungsi kelas vektor, tetapi sejumlah besar metode yang disediakan di kelas vektor sangat memfasilitasi penggunaan pengguna.
Setelah membuat objek kelas vektor, Anda dapat memasukkan objek dari kelas yang berbeda ke dalamnya sesuka hati, yaitu, Anda tidak perlu mempertimbangkan jenis atau kapasitas vektor yang telah dipilih, dan dapat dengan mudah mencari. Untuk situasi di mana Anda tidak tahu atau tidak mau ukuran array yang telah ditentukan sebelumnya, dan perlu sering mencari, memasukkan, dan menghapus pekerjaan. Anda dapat mempertimbangkan menggunakan kelas vektor.
Kelas vektor mengimplementasikan array dinamis. Ini mirip dengan ArrayList, tetapi keduanya berbeda:
Kelas vektor mendukung 4 metode konstruksi.
1. Konstruktor pertama membuat vektor default dengan ukuran default 10:
Vektor ()
2. Metode konstruksi kedua menciptakan vektor dengan ukuran tertentu.
Vektor (ukuran int)
3. Metode konstruksi ketiga menciptakan vektor dengan ukuran yang ditentukan, dan kenaikan ditentukan oleh Incr. Penambahan mewakili jumlah elemen yang ditingkatkan vektor setiap kali.
Vektor (ukuran int, int app)
4. Konstruktor keempat menciptakan vektor yang berisi elemen set C:
Vektor (koleksi c)
Sistem akan secara otomatis mengelola vektor menggunakan metode pertama, jika dua metode terakhir digunakan. Sistem akan mengatur kapasitas objek vektor (yaitu, ukuran data yang dapat disimpan oleh objek vektor) sesuai dengan parameter, dan ketika jumlah data yang sebenarnya disimpan melebihi kapasitas. Sistem akan memperluas kapasitas penyimpanan objek vektor.
Parameter CapasityIncrement memberikan nilai ekspansi untuk setiap ekspansi. Ketika CapasityIncrement adalah 0, ekspansi tidak akan dua kali lipat. Fungsi ini dapat digunakan untuk mengoptimalkan penyimpanan. Berbagai metode disediakan di kelas vektor untuk memfasilitasi penggunaan pengguna:
Sisipkan fungsi:
(1) Publik Final Sinkronisasi Void AddDelement (Object Obj)
Masukkan OBJ ke dalam ekor vektor. OBJ dapat berupa semua jenis objek. Untuk objek vektor yang sama, berbagai jenis objek juga dapat dimasukkan ke dalamnya. Tetapi sisipan harus menjadi objek daripada nilai numerik, jadi ketika memasukkan nilai numerik, Anda harus memperhatikan untuk mengubah array menjadi objek yang sesuai.
Misalnya: Saat memasukkan Integer 1, jangan hubungi v1.addelement (1). Metode yang benar adalah:
Vektor v1 = vektor baru (); Integer integer1 = integer baru (1); v1.addelement (integer1);
(2) Publik Final Sinkronisasi Void SetElementAt (Object Obj, Ind Index)
Atur objek pada indeks ke OBJ, dan objek asli akan ditimpa.
(3) InsertElement Void Final Public Final (Object Obj, INT Indeks)
Masukkan OBJ pada posisi yang ditentukan dalam indeks, dan objek asli dan objek selanjutnya akan ditunda secara bergantian.
Hapus fungsi:
(1) Publik Final Sinkronisasi Void RemeFeLement (Object Obj)
Hapus OBJ dari vektor. Jika ada beberapa keberadaan, mulailah dengan header vektor dan hapus anggota vektor pertama yang ditemukan dengan OBJ.
(2) public final disinkronkan void RemovedAlllement ();
Hapus semua objek di vektor
)
Hapus objek tempat indeks mengacu
Fungsi pencarian kueri:
(1) Indeks int final publik (objek OBJ)
Mulailah mencari OBJ dari header vektor dan kembalikan subskrip yang sesuai dengan OBJ pertama yang ditemui. Jika OBJ ini tidak ada, kembalikan -1.
(2) Indeks int Sinkronisasi Publik Final (objek OBJ, indeks int)
Mulailah mencari OBJ dari indeks yang ditunjukkan oleh indeks.
(3) Final Publik Int LastIndexof (Object Obj)
Memulai pencarian terbalik untuk OBJ dari ekor vektor.
(4) Final Publik Sinkronisasi Int LastIndex (Object Obj, Ind Index)
Cari OBJ secara terbalik dari ujung ke kepala dari subskrip yang ditunjukkan oleh indeks.
(5) Final Public FirstElement ()
Dapatkan OBJ pertama di objek vektor
(6) Objek Sinkronisasi Akhir Publik LastElement ()
Dapatkan OBJ terakhir dari objek vektor
Contoh
Program berikut menjelaskan beberapa metode yang didukung oleh koleksi ini:
impor java.util.*; kelas publik vectordemo {public static void main (string args []) {// Ukuran awal adalah 3, kenaikan adalah 2 vektor v = vektor baru (3, 2); System.out.println ("Ukuran Awal:" + V.Size ()); System.out.println ("Kapasitas Awal:" + V.Capacity ()); v.addelement (bilangan bulat baru (1)); v.addelement (bilangan bulat baru (2)); v.addelement (bilangan bulat baru (3)); v.addelement (bilangan bulat baru (4)); System.out.println ("Kapasitas setelah empat tambahan:" + v.capacity ()); v.addelement (double baru (5.45)); System.out.println ("Kapasitas Saat Ini:" + V.Capacity ()); v.addelement (double baru (6.08)); v.addelement (bilangan bulat baru (7)); System.out.println ("Kapasitas Saat Ini:" + V.Capacity ()); v.addelement (float baru (9.4)); v.addelement (bilangan bulat baru (10)); System.out.println ("Kapasitas Saat Ini:" + V.Capacity ()); v.addelement (bilangan bulat baru (11)); v.addelement (bilangan bulat baru (12)); System.out.println ("Elemen Pertama:" + (Integer) V.Firstelement ()); System.out.println ("Elemen Terakhir:" + (Integer) V.LastElement ()); if (v.contains (integer baru (3))) system.out.println ("Vektor berisi 3."); // Hitung elemen dalam vektor. Enumeration venum = v.elements (); System.out.println ("/nelements in vector:"); while (venum.hasmoreElements ()) system.out.print (venum.nextelement () + ""); System.out.println (); }}Contoh kompilasi dan hasil operasi di atas adalah sebagai berikut:
Ukuran Awal: 0 Kapasitas Insial: 3 Kapasitas Setelah Empat Tambahan: 5 Kapasitas Arur: 5 Kapasitas Arur: 7 Kapasitas Arur: Elemen Pertama: 1 Elemen Last: 12vektor Berisi 3. Elemen dalam Vektor: 1 2 3 4 5.45 6.08 7 9.4 10 11 12