Java Vector elementAt()-Methode
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:
- Wenn Sie wahlfrei zugreifen müssen auf
Vectorein bestimmtes Element in - Zugriff auf Sammlungselemente in einer Umgebung, die Threadsicherheit erfordert
- Wenn Ihr Code mit Legacy-Systemen interagieren muss (weil
Vectores eine Sammlungsklasse in frühen Java-Versionen ist)
Grundlegendes Anwendungsbeispiel
Nachfolgend sehen Sie ein einfaches Beispiel, das die Verwendung zeigtelementAt()Methode:
Beispiel
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
String fruit1 = fruits.elementAt(1);
String fruit2 = fruits.get(1);
Hauptunterschiede:
elementAt()JaVectorspezifische Methode, wohingegenget()JaListMethode, die von der Schnittstelle definiert wird- Funktional sind die beiden genau gleich
- 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
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
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
elementAt()Die Methode hat eine Zeitkomplexität von O(1), weil sie direkt über den Index auf Elemente zugreifen kann- Da
Vectorist synchronisiert,elementAt()die Methode ist ebenfalls synchronisiert, was Threadsicherheit in Multithread-Umgebungen bietet, aber in Single-Thread-Umgebungen unnötigen Performance-Overhead verursacht - Wenn sie in einer Single-Thread-Umgebung verwendet wird, sollten Sie die Verwendung
ArrayListvonget()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.
Andere Erweiterungen
Java Vector