Artikelverzeichnis
Vorwort
Im Sammlungsframework von Java List
ist eine Schnittstelle eine geordnete, wiederholbare Sammlung, die Collection
die Schnittstelle erweitert und eine Reihe von Operationen und Methoden zum Verarbeiten von Elementlisten bereitstellt. In diesem Artikel werden Schnittstellen in Java und ihre allgemeinen Implementierungsklassen, einschließlich , und , List
ausführlich vorgestellt und einige Beispielcodes bereitgestellt.ArrayList
LinkedList
Vector
1. Listenübersicht
List
Interface erbt von Collection
Interface und fügt einige Operationen zu geordneten Listen hinzu. Es ermöglicht die Duplizierung von Elementen und bietet Methoden zum Zugreifen auf, Hinzufügen, Löschen und Ersetzen von Elementen basierend auf dem Index. In Java List
verfügen Schnittstellen über mehrere gemeinsame Implementierungsklassen mit jeweils unterschiedlicher Leistung und Verwendung.
ArrayList
: Basierend auf der Implementierung eines dynamischen Arrays unterstützt es Direktzugriff und schnelles Durchlaufen und eignet sich für Szenarien mit vielen Lese- und Änderungsvorgängen.LinkedList
: Basierend auf der Implementierung einer doppelt verknüpften Liste, unterstützt effiziente Einfüge- und Löschvorgänge und ist für häufige Einfüge- und Löschvorgänge geeignet.Vector
:ArrayList
Ähnlich wie , aber threadsicher und für Multithread-Umgebungen geeignet.
2. ArrayList
ArrayList
Es handelt sich um List
eine allgemeine Implementierungsklasse der Schnittstelle. Sie basiert auf der dynamischen Array-Implementierung und kann die Größe des Arrays bei Bedarf automatisch erweitern und verkleinern. Hier sind einige häufig verwendete ArrayList
Methoden:
add(E element)
: Fügt ein Element am Ende der Liste hinzu.get(int index)
: Ruft das Element an der angegebenen Indexposition ab.set(int index, E element)
: Ersetzt das Element an der angegebenen Indexposition.remove(int index)
: Entfernen Sie das Element an der angegebenen Indexposition.size()
: Gibt die Größe der Liste zurück.
Hier ist ein ArrayList
verwendeter Beispielcode:
import java.util.ArrayList;
import java.util.List;
public class ArrayListExample {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
System.out.println("Fruits: " + fruits);
fruits.remove(1);
System.out.println("Fruits after removal: " + fruits);
String fruit = fruits.get(0);
System.out.println("First fruit: " + fruit);
}
}
Im obigen Beispiel haben wir eine ArrayList
Instanz erstellt und einige Früchte hinzugefügt. Dann entfernen wir ein Element aus der Liste und erhalten das erste Element in der Liste. Abschließend drucken wir den Inhalt der Liste aus.
三、LinkedList
LinkedList
Es handelt sich um List
eine weitere Implementierungsklasse der Schnittstelle, die auf Basis einer doppelt verknüpften Liste implementiert wird. Im Vergleich zu ist es bei häufigen Einfüge- ArrayList
und LinkedList
Löschvorgängen effizienter. Hier sind einige häufig verwendete LinkedList
Methoden:
add(E element)
: Fügt ein Element am Ende der Liste hinzu.get(int index)
: Ruft das Element an der angegebenen Indexposition ab.set(int index, E element)
: Ersetzt das Element an der angegebenen Indexposition.remove(int index)
: Entfernen Sie das Element an der angegebenen Indexposition.size()
: Gibt die Größe der Liste zurück.
Hier ist ein LinkedList
verwendeter Beispielcode:
import java.util.LinkedList;
import java.util.List;
public class LinkedListExample {
public static void main(String[] args) {
List<String> names = new LinkedList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
System.out.println("Names: " + names);
names.remove(1);
System.out.println("Names after removal: " + names);
String name = names.get(0);
System.out.println("First name: " + name);
}
}
Im obigen Beispiel haben wir eine LinkedList
Instanz erstellt und einige Namen hinzugefügt. Dann entfernen wir ein Element aus der Liste und erhalten den ersten Namen in der Liste. Abschließend drucken wir den Inhalt der Liste aus.
四、Vektor
Vector
Ist List
eine weitere Implementierungsklasse der Schnittstelle, ArrayList
ähnlich wie , aber threadsicher. Vector
funktioniert auf die ArrayList
gleiche Weise wie , die Leistung kann jedoch aufgrund des zusätzlichen Overheads der Thread-Synchronisierung geringer sein. Hier sind einige häufig verwendete Vector
Methoden:
add(E element)
: Fügt ein Element am Ende der Liste hinzu.get(int index)
: Ruft das Element an der angegebenen Indexposition ab.set(int index, E element)
: Ersetzt das Element an der angegebenen Indexposition.remove(int index)
: Entfernen Sie das Element an der angegebenen Indexposition.size()
: Gibt die Größe der Liste zurück.
Hier ist ein Vector
verwendeter Beispielcode:
import java.util.Vector;
import java.util.List;
public class VectorExample {
public static void main(String[] args) {
List<String> colors = new Vector<>();
colors.add("Red");
colors.add("Green");
colors.add("Blue");
System.out.println("Colors: " + colors);
colors.remove(1);
System.out.println("Colors after removal: " + colors);
String color = colors.get(0);
System.out.println("First color: " + color);
}
}
Im obigen Beispiel haben wir eine Vector
Instanz erstellt und einige Farben hinzugefügt. Dann entfernen wir ein Element aus der Liste und erhalten die erste Farbe in der Liste. Abschließend drucken wir den Inhalt der Liste aus.
Zusammenfassen
In diesem Artikel bieten wir eine detaillierte Einführung in List
Schnittstellen in Java und ihre gemeinsamen Implementierungsklassen: ArrayList
, LinkedList
und Vector
. Durch das Verständnis ihrer Eigenschaften und Verwendung können Sie die geeignete List
Implementierungsklasse auswählen, um die Elementliste entsprechend Ihren tatsächlichen Anforderungen zu betreiben und zu verwalten.
ArrayList
Es eignet sich für Szenarien mit vielen Lese- und Änderungsvorgängen, LinkedList
für häufige Einfüge- und Löschvorgänge und Vector
für Multithread-Umgebungen.
Ich hoffe, dass dieser Artikel Ihnen hilft, Java- List
Schnittstellen zu verstehen und zu verwenden!
Verweise:
Anbei: Beispielcode
[ArrayListExample.java]
import java.util.ArrayList;
import java.util.List;
public class ArrayListExample {
public static void main(String[] args) {
List<String> fruits = new ArrayList<>();
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Orange");
System.out.println("Fruits: " + fruits);
fruits.remove(1);
System.out.println("Fruits after removal: " + fruits);
String fruit = fruits.get(0);
System.out.println("First fruit: " + fruit);
}
}
[LinkedListExample.java]
import java.util.LinkedList;
import java.util.List;
public class LinkedListExample {
public static void main(String[] args) {
List<String> names = new LinkedList<>();
names.add("Alice");
names.add("Bob");
names.add("Charlie");
System.out.println("Names: " + names);
names.remove(1);
System.out.println("Names after removal: " + names);
String name = names.get(0);
System.out.println("First name: " + name);
}
}
[VectorExample.java]
import java.util.Vector;
import java.util.List;
public class VectorExample {
public static void main(String[] args) {
List<String> colors = new Vector<>();
colors.add("Red");
colors.add("Green");
colors.add("Blue");
System.out.println("Colors: " + colors);
colors.remove(1);
System.out.println("Colors after removal: " + colors);
String color = colors.get(0);
System.out.println("First color: " + color);
}
}