Java Vector elementAt()-Methode

Java Vector Java Vector


elementAt()Die Methode ist in Java,Vectoreine von der Klasse bereitgestellte Member-Methode, mit der der Vektor(Vector) an der angegebenen Indexposition abgerufen wird. Diese Methode ähnelt dem Array-Indexzugriff, bietet jedoch mehr Sicherheit und Flexibilität.

Methodensyntax:

public synchronized E elementAt(int index)

Parameters:

  • index- Die Indexposition des zurückzugebenden Elements (beginnend bei 0)

Rückgabewert:

  • Gibt das Element an der angegebenen Indexposition zurück

Ausnahme:

  • Löst eine Ausnahme aus, wenn der Index außerhalb des gültigen Bereichs liegt (index < 0 || index >= size())ArrayIndexOutOfBoundsException

Verwendungsszenarien

elementAt()Die Methode wird normalerweise in den folgenden Fällen verwendet:

  1. Wenn Sie wahlfrei zugreifen müssen aufVectorein bestimmtes Element in
  2. Zugriff auf Sammlungselemente in einer Umgebung, die Threadsicherheit erfordert
  3. Wenn Ihr Code mit Legacy-Systemen interagieren muss (weilVectores eine Sammlungsklasse in frühen Java-Versionen ist)

Grundlegendes Anwendungsbeispiel

Nachfolgend sehen Sie ein einfaches Beispiel, das die Verwendung zeigtelementAt()Methode:

Beispiel

import java.util.Vector;

public class VectorExample {
    public static void main(String[] args) {
        // Einen Vector erstellen und Elemente hinzufügen
        Vector<String> fruits = new Vector<>();
        fruits.add("Apfel");
        fruits.add("Banane");
        fruits.add("Cherry");
       
        // Verwenden Sie elementAt(), um das Element abzurufen
        String secondFruit = fruits.elementAt(1);
        System.out.println("Die zweite Frucht ist: " + secondFruit);
       
        // Über die Elemente im Vector iterieren
        for (int i = 0; i < fruits.size(); i++) {
            System.out.println("Index " + i + " Frucht: " + fruits.elementAt(i));
        }
    }
}

Ergebnis ausgeben:

第二个水果是: Banana
索引 0 的水果: Apple
索引 1 的水果: Banana
索引 2 的水果: Cherry

Vergleich mit der get()-Methode

VectorDie Klasse bietet außerdemget()Methode, dieelementAt()funktional ähnlich wie die Methode:

Beispiel

// Diese beiden Wege sind äquivalent
String fruit1 = fruits.elementAt(1);
String fruit2 = fruits.get(1);

Hauptunterschiede:

  1. elementAt()JaVectorspezifische Methode, wohingegenget()JaListMethode, die von der Schnittstelle definiert wird
  2. Funktional sind die beiden genau gleich
  3. In der modernen Java-Programmierung wird empfohlen,get()Methode, weil sie der einheitlichen Schnittstelle des Collection-Frameworks entspricht

Ausnahmebehandlung

VerwendungelementAt()Methode, sollten Sie auf die Behandlung möglicher achtenArrayIndexOutOfBoundsException:

Beispiel

try {
    String fruit = fruits.elementAt(5);  // Angenommen, der Vector hat nur 3 Elemente
    System.out.println(fruit);
} catch (ArrayIndexOutOfBoundsException e) {
    System.out.println("Fehler: Index außerhalb des Bereichs!");
}

Ein besserer Ansatz ist es, den Index vor dem Zugriff zu überprüfen:

Beispiel

int index = 5;
if (index >= 0 && index < fruits.size()) {
    String fruit = fruits.elementAt(index);
    System.out.println(fruit);
} else {
    System.out.println("Index " + index + " außerhalb des Bereichs!");
}

Leistungsüberlegungen

  1. elementAt()Die Methode hat eine Zeitkomplexität von O(1), weil sie direkt über den Index auf Elemente zugreifen kann
  2. DaVectorist synchronisiert,elementAt()die Methode ist ebenfalls synchronisiert, was Threadsicherheit in Multithread-Umgebungen bietet, aber in Single-Thread-Umgebungen unnötigen Performance-Overhead verursacht
  3. Wenn sie in einer Single-Thread-Umgebung verwendet wird, sollten Sie die VerwendungArrayListvonget()der Methode in Betracht ziehen, die eine höhere Leistung bietet

Zusammenfassung

elementAt()Die Methode istVectoreine grundlegende Operation, die von der Klasse bereitgestellt wird, um über den Index auf Elemente zuzugreifen. Obwohl sie funktional äquivalent ist zuget()Methode, aber in der modernen Java-Entwicklung wird empfohlen,ArrayListundget()Methodenkombination zu verwenden, es sei denn, Sie benötigen wirklichVectordie Thread-Sicherheitsfunktionen von.

Denken Sie daran: Wenn Sie eine beliebige Indexzugriffsmethode verwenden, stellen Sie sicher, dass der Indexwert innerhalb eines gültigen Bereichs liegt, um Laufzeitausnahmen zu vermeiden.

Java Vector Java Vector

Andere Erweiterungen