java
Dalam tutorial ini, kita akan belajar tentang kelas Vector dan cara menggunakannya. Kita juga akan mempelajari perbedaannya dengan kelas ArrayList, dan mengapa kita harus menggunakan daftar array sebagai gantinya.
Vector
class adalah implementasi dari List
antarmuka yang memungkinkan kita membuat array yang dapat diubah ukurannya mirip dengan kelas ArrayList.
Di Jawa, keduanya ArrayList
dan Vector
mengimplementasikan List
antarmuka dan menyediakan fungsi yang sama. Namun, ada beberapa perbedaan di antara mereka.
Vector
kelas menyinkronkan setiap operasi individu. Ini berarti setiap kali kita ingin melakukan beberapa operasi pada vektor, Vector
class secara otomatis menerapkan kunci ke operasi itu.
Itu karena ketika satu utas mengakses sebuah vektor, dan pada saat yang sama utas lain mencoba mengaksesnya, pengecualian yang disebut ConcurrentModificationException
dihasilkan. Oleh karena itu, penggunaan kunci yang terus-menerus untuk setiap operasi ini membuat vektor menjadi kurang efisien.
Namun, dalam daftar array, metode tidak disinkronkan. Sebagai gantinya, ia menggunakan Collections.synchronizedList()
metode yang menyinkronkan daftar secara keseluruhan.
Catatan: Disarankan untuk menggunakan ArrayList
sebagai pengganti Vector
karena vektor tidak threadsafe dan kurang efisien.
Berikut adalah cara membuat vektor di Java.
Vector<Type> vector = new Vector<>();
Di sini, Ketik menunjukkan jenis daftar tertaut. Misalnya,
// create Integer type linked list
Vector<Integer> vector= new Vector<>();
// create String type linked list
Vector<String> vector= new Vector<>();
Vector
class juga menyediakan implementasi array yang dapat diubah ukurannya dari List
antarmuka (mirip dengan ArrayList
kelas). Beberapa dari Vector
caranya adalah:
add(element)
- menambahkan elemen ke vektoradd(index, element)
- menambahkan elemen ke posisi yang ditentukanaddAll(vector)
- menambahkan semua elemen vektor ke vektor lainMisalnya,
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> mammals= new Vector<>();
// Using the add() method
mammals.add("Dog");
mammals.add("Horse");
// Using index number
mammals.add(2, "Cat");
System.out.println("Vector: " + mammals);
// Using addAll()
Vector<String> animals = new Vector<>();
animals.add("Crocodile");
animals.addAll(mammals);
System.out.println("New Vector: " + animals);
}
}
Keluaran
Vector: [Dog, Horse, Cat] New Vector: [Crocodile, Dog, Horse, Cat]
get(index)
- mengembalikan elemen yang ditentukan oleh indeksiterator()
- mengembalikan objek iterator untuk mengakses elemen vektor secara berurutanMisalnya,
import java.util.Iterator;
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> animals= new Vector<>();
animals.add("Dog");
animals.add("Horse");
animals.add("Cat");
// Using get()
String element = animals.get(2);
System.out.println("Element at index 2: " + element);
// Using iterator()
Iterator<String> iterate = animals.iterator();
System.out.print("Vector: ");
while(iterate.hasNext()) {
System.out.print(iterate.next());
System.out.print(", ");
}
}
}
Keluaran
Element at index 2: Cat Vector: Dog, Horse, Cat,
remove(index)
- menghapus elemen dari posisi tertenturemoveAll()
- menghapus semua elemenclear()
- menghapus semua elemen. Ini lebih efisien daripada removeAll()
Misalnya,
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> animals= new Vector<>();
animals.add("Dog");
animals.add("Horse");
animals.add("Cat");
System.out.println("Initial Vector: " + animals);
// Using remove()
String element = animals.remove(1);
System.out.println("Removed Element: " + element);
System.out.println("New Vector: " + animals);
// Using clear()
animals.clear();
System.out.println("Vector after clear(): " + animals);
}
}
Keluaran
Initial Vector: [Dog, Horse, Cat] Removed Element: Horse New Vector: [Dog, Cat] Vector after clear(): []
Metode | Deskripsi |
---|---|
set() | mengubah elemen vektor |
size() | mengembalikan ukuran vektor |
toArray() | mengubah vektor menjadi array |
toString() | mengubah vektor menjadi String |
contains() | mencari vektor untuk elemen tertentu dan mengembalikan hasil boolean |
java
Antarmuka Antrian Java Dalam tutorial ini, kita akan belajar tentang antarmuka Java Queue dan metodenya. Queue antarmuka kerangka koleksi Java menyediakan fungsionalitas struktur data antrian. Ini memperluas Collection antarmuka. Kelas yang Menerapkan Antrian Sejak Queue adalah antarmuka, kami t
Antarmuka Deque Java Dalam tutorial ini, kita akan belajar tentang antarmuka Deque, cara menggunakannya, dan metodenya. Deque antarmuka kerangka koleksi Java menyediakan fungsionalitas antrian berujung ganda. Ini memperluas Queue antarmuka. Kerja Deque Dalam antrian biasa, elemen ditambahkan dar
Java LinkedList Dalam tutorial ini, kita akan belajar tentang Java LinkedList secara detail dengan bantuan contoh. LinkedList kelas kerangka koleksi Java menyediakan fungsionalitas struktur data daftar tertaut (daftar tertaut ganda). Setiap elemen dalam daftar tertaut dikenal sebagai simpul . In
Java ArrayDeque Dalam tutorial ini, kita akan belajar tentang kelas ArrayDeque dan metodenya dengan bantuan contoh. Selain itu, kita akan belajar menggunakan deque array untuk mengimplementasikan tumpukan. Di Java, kita bisa menggunakan ArrayDeque class untuk mengimplementasikan struktur data antr