Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java-vector

Java Vector

In deze zelfstudie leren we over de Vector-klasse en hoe deze te gebruiken. We zullen ook leren hoe het verschilt van de klasse ArrayList en waarom we in plaats daarvan arraylijsten zouden moeten gebruiken.

De Vector class is een implementatie van de List interface die ons in staat stelt om resizable-arrays te maken die lijken op de klasse ArrayList.


Java Vector versus ArrayList

In Java zijn beide ArrayList en Vector implementeert de List interface en biedt dezelfde functionaliteiten. Er bestaan ​​echter enkele verschillen tussen hen.

De Vector klasse synchroniseert elke afzonderlijke bewerking. Dit betekent dat wanneer we een bewerking op vectoren willen uitvoeren, de Vector class past automatisch een slot toe op die bewerking.

Het is omdat wanneer een thread toegang heeft tot een vector en tegelijkertijd een andere thread probeert toegang te krijgen, een uitzondering genaamd ConcurrentModificationException is gegenereerd. Daarom maakt dit continue gebruik van vergrendeling voor elke bewerking vectoren minder efficiënt.

In arraylijsten worden methoden echter niet gesynchroniseerd. In plaats daarvan gebruikt het de Collections.synchronizedList() methode die de lijst als geheel synchroniseert.

Opmerking: Het wordt aanbevolen om ArrayList . te gebruiken in plaats van Vector omdat vectoren niet threadsafe zijn en minder efficiënt zijn.


Een vector maken

Hier is hoe we vectoren in Java kunnen maken.

Vector<Type> vector = new Vector<>();

Hier, Type geeft het type van een gekoppelde lijst aan. Bijvoorbeeld,

// create Integer type linked list
Vector<Integer> vector= new Vector<>();

// create String type linked list
Vector<String> vector= new Vector<>();

Methoden van vector

De Vector class biedt ook de resizable-array-implementaties van de List interface (vergelijkbaar met de ArrayList klas). Enkele van de Vector methoden zijn:


Elementen aan vector toevoegen

  • add(element) - voegt een element toe aan vectoren
  • add(index, element) - voegt een element toe aan de opgegeven positie
  • addAll(vector) - voegt alle elementen van een vector toe aan een andere vector

Bijvoorbeeld,

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);
    }
}

Uitvoer

Vector: [Dog, Horse, Cat]
New Vector: [Crocodile, Dog, Horse, Cat]

Toegang tot vectorelementen

  • get(index) - retourneert een element gespecificeerd door de index
  • iterator() - geeft een iteratorobject terug om sequentieel toegang te krijgen tot vectorelementen

Bijvoorbeeld,

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(", ");
        }
    }
}

Uitvoer

Element at index 2: Cat
Vector: Dog, Horse, Cat,

Verwijder vectorelementen

  • remove(index) - verwijdert een element van gespecificeerde positie
  • removeAll() - verwijdert alle elementen
  • clear() - verwijdert alle elementen. Het is efficiënter dan removeAll()

Bijvoorbeeld,

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);
    }
}

Uitvoer

Initial Vector: [Dog, Horse, Cat]
Removed Element: Horse
New Vector: [Dog, Cat]
Vector after clear(): []

Andere vectormethoden

Methoden Beschrijvingen
set() verandert een element van de vector
size() geeft de grootte van de vector terug
toArray() converteert de vector in een array
toString() converteert de vector in een String
contains() zoekt de vector naar gespecificeerd element en geeft een booleaans resultaat

Java

  1. Java-operators
  2. Java-opmerkingen
  3. Java if... else-instructie
  4. Java voor elke lus
  5. Java-strings
  6. Java-interface
  7. Java anonieme klasse
  8. Java proberen-met-bronnen
  9. Java-annotaties
  10. Java-beweringen
  11. Java 8 - Beknopte handleiding