So definieren und implementieren Sie ArrayList und Sequenzliste in Java
1. Lineare Tabelle
Definition
Eine lineare Tabelle ist die grundlegendste, einfachste und am häufigsten verwendete Datenstruktur. Eine endliche Folge, die n Datenelemente mit denselben Eigenschaften enthält, wird als lineare Liste bezeichnet und ist eine Art Datenstruktur.
Gemeinsame lineare Listen: sequentielle Listen, verknüpfte Listen, Stapel, Warteschlangen ...
Lineare Listen sind logisch lineare Strukturen, das heißt, sie sind eine kontinuierliche gerade Linie. Die physische Speicherform linearer Tabellen ist normalerweise eine Array- oder verknüpfte Listenstruktur, sie ist jedoch nicht unbedingt kontinuierlich.
Funktionen
Es darf nur ein „erstes Element“ im Set vorhanden sein.
Es darf nur ein „letztes Element“ im Set vorhanden sein.
Bis auf das letzte Element haben alle Elemente einen eindeutigen Nachfolger (Konsequenz).
Mit Ausnahme des ersten Elements haben alle Elemente einen eindeutigen Vorläufer (Vorläufer).
2. Sequenztabelle
Definition
Eine lineare Struktur, die normalerweise in Form eines Arrays gespeichert wird, wird als Sequenztabelle bezeichnet, die Datenelemente nacheinander in einer Speichereinheit mit kontinuierlichen physischen Adressen speichert. Schließen Sie das Hinzufügen, Löschen, Überprüfen und Ändern von Daten im Array ab.
Implementierung
Zuerst müssen wir ein Array zum Speichern von Daten erstellen.
Hinweis: Da ich der Einfachheit halber zuerst das Ganzzahl-Array erstellt habe, können Sie zur besseren Anpassung an verschiedene Typen ein generisches Array erstellen, über das ich hier nicht schreiben werde.
Der nächste Schritt besteht darin, verschiedene Operationen an der Sequenztabelle durchzuführen. Zum Beispiel: grundlegendes CURD, Drucken der Sequenztabelle, Abrufen der Sequenztabellenlänge, Löschen der Sequenztabelle usw.
Array drucken
Da es sich um ein Array handelt, durchlaufen Sie einfach das Array und drucken es direkt aus Treffen Sie eine Beurteilung, ob der Array-Speicherplatz voll ist und erweitert werden muss. Darüber hinaus müssen wir auch feststellen, ob diese Position legal ist.
So beurteilen Sie, ob der Speicherplatz voll ist
Hier vereinfachen wir den Code wie folgt:
Wenn Sie die Kapazität erweitern möchten, nachdem die Erweiterung abgeschlossen ist, da die Sequenztabelle eine kontinuierliche Struktur ist, Fügen Sie Elemente an der Pos-Position hinzu, dann werden die Elemente nach der Pos-Position nacheinander nach hinten verschoben. Nur so können neue Elemente hinzugefügt werden.
Hinweis: Nach der Erweiterung müssen wir die Größe von CAPACITY und usedSize ändern.
Bestimmen Sie, ob es ein bestimmtes Element enthält.
Hier müssen wir prüfen, ob das Array zu diesem Zeitpunkt leer ist.
Danach durchqueren wir das Array immer noch direkt.
Die Suche nach Elementen
erfordert auch hier eine Nulloperation.
Holen Sie sich das Element an der Position pos
Es kann Situationen geben, in denen das Array leer ist und pos unzulässig ist, daher ist eine Beurteilung erforderlich.
Ich löse hier Ausnahmen manuell aus, ich habe nichts anderes geschrieben.
Ändern Sie den Wert der Pos-Position
Löschvorgang
Um ein Element an einer bestimmten Position zu löschen, kann das dahinter liegende Element es direkt überschreiben, um eine Löschung zu erreichen.
Ermitteln Sie die Länge der Sequenztabelle.
Löschen Sie die Sequenztabelle.
Die folgenden Vorgänge sind relativ einfach und werden nicht im Detail beschrieben.
3. ArrayList
Einführung:
ArrayList ist eine gewöhnliche Klasse, die die List-Schnittstelle implementiert. Das spezifische Framework-Diagramm lautet wie folgt:
ArrayList implementiert RandomAccess-Schnittstelle, die angibt, dass ArrayList Direktzugriff unterstützt.
- ArrayList implementiert die Cloneable-Schnittstelle und gibt an, dass ArrayList geklont werden kann.
- ArrayList implementiert die Serializable-Schnittstelle und gibt an, dass ArrayList die Serialisierung unterstützt.
- Im Gegensatz zu Vector ist ArrayList nicht threadsicher und kann in einzelnen Threads verwendet werden. In Multithreads können Sie Vector oder CopyOnWriteArrayList wählen.
- Die unterste Ebene von ArrayList ist ein kontinuierlicher Raum und kann dynamisch erweitert werden. Es handelt sich um eine dynamische Typsequenzliste.
- Verwenden Sie
public static void main(String[] args) { // ArrayList创建,推荐写法 // 构造一个空的列表 List<Integer> list1 = new ArrayList<>(); // 构造一个具有10个容量的列表 List<Integer> list2 = new ArrayList<>(10); list2.add(1); list2.add(2); list2.add(3); // list2.add("hello"); // 编译失败,List<Integer>已经限定了,list2中只能存储整形元素 // list3构造好之后,与list中的元素一致 ArrayList<Integer> list3 = new ArrayList<>(list2); // 避免省略类型,否则:任意类型的元素都可以存放,使用时将是一场灾难 List list4 = new ArrayList(); list4.add("111"); list4.add(100); }
Nach dem Login kopierenEinige gängige Methoden
boolean add(E e) | Tail insert e |
void add(int index, E element) | Fügen Sie e an der Indexposition ein das Indexpositionselement und gibt |
boolean remove(Object o) | Löschen Sie das erste gefundene o |
E get(int index) | Holen Sie sich das tiefgestellte Indexpositionselement |
E set(int index , E-Element) | Setzen Sie das Indexpositionselement des Index auf Element |
void clear() | Löschen Sie die Sequenztabelle |
boolean enthält (Objekt o) | Beurteilen Sie, ob sich o in der linearen Tabelle befindet |
int indexOf(Object o) | Gibt den Index des ersten o zurück |
int lastIndexOf(Object o) | Gibt den Index des letzten o zurück |
List< E > subList(int fromIndex, int toIndex) | Teil der Liste abfangen |
ArrayList-Traversal | Loop-Traversal |
foreach-Traversal | |
Iterator | System.out.println("======迭代器1========="); ElementObservableListDecorator<Object> list; Iterator<String> it = list.iterator(); while (it.hasNext()) { System.out.println(it.next()); } System.out.println("======迭代器2========="); ListIterator<String> it2 = list.listIterator(); while (it2.hasNext()) { System.out.println(it2.next()); } Nach dem Login kopieren Wie oben erwähnt, kann die unterste Ebene der Sequenztabelle als Array verstanden werden, ist jedoch im Vergleich zum Array fortgeschrittener.Die Sequenztabelle kann selbst erweitert werden. Die Sequenztabelle unterscheidet strikt zwischen der Array-Kapazität und der Anzahl der Elemente. Zu beachtende Punkte in der Sequenztabelle: Wir müssen in der Sequenztabelle zwischen zwei Konzepten unterscheiden: Kapazität (Kapazität) und Anzahl der Elemente (Größe). Kapazität kann als die Größe (Länge) des Arrays verstanden werden, und die Anzahl der Elemente ist die Anzahl der in der Größe aufgezeichneten gültigen Elemente. In der Sequenztabelle müssen die Daten kontinuierlich gespeichert werden und es dürfen keine „Lücken“ zwischen Elementen entstehen. Beim Einfügen, Löschen und anderen Vorgängen muss die Kontinuität der Sequenztabelle auch nach der Operation gewährleistet sein ist abgeschlossen. Das obige ist der detaillierte Inhalt vonSo definieren und implementieren Sie ArrayList und Sequenzliste in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website! Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
![]() Heiße KI -Werkzeuge![]() Undresser.AI UndressKI-gestützte App zum Erstellen realistischer Aktfotos ![]() AI Clothes RemoverOnline-KI-Tool zum Entfernen von Kleidung aus Fotos. ![]() Undress AI ToolAusziehbilder kostenlos ![]() Clothoff.ioKI-Kleiderentferner ![]() AI Hentai GeneratorErstellen Sie kostenlos Ai Hentai. ![]() Heißer Artikel
Assassin's Creed Shadows: Seashell Riddle -Lösung
3 Wochen vor
By DDD
Was ist neu in Windows 11 KB5054979 und wie Sie Update -Probleme beheben
2 Wochen vor
By DDD
Wo kann man die Kransteuerungsschlüsselkarten in Atomfall finden
3 Wochen vor
By DDD
Ersparnis in R.E.P.O. Erklärt (und speichern Dateien)
1 Monate vor
By 尊渡假赌尊渡假赌尊渡假赌
![]() Heiße Werkzeuge![]() Notepad++7.3.1Einfach zu bedienender und kostenloser Code-Editor ![]() SublimeText3 chinesische VersionChinesische Version, sehr einfach zu bedienen ![]() Senden Sie Studio 13.0.1Leistungsstarke integrierte PHP-Entwicklungsumgebung ![]() Dreamweaver CS6Visuelle Webentwicklungstools ![]() SublimeText3 Mac-VersionCodebearbeitungssoftware auf Gottesniveau (SublimeText3) ![]() Heiße Themen
CakePHP-Tutorial
![]() ![]() ![]() Leitfaden zur perfekten Zahl in Java. Hier besprechen wir die Definition, Wie prüft man die perfekte Zahl in Java?, Beispiele mit Code-Implementierung. ![]() Leitfaden für Weka in Java. Hier besprechen wir die Einführung, die Verwendung von Weka Java, die Art der Plattform und die Vorteile anhand von Beispielen. ![]() Leitfaden zur Smith-Zahl in Java. Hier besprechen wir die Definition: Wie überprüft man die Smith-Nummer in Java? Beispiel mit Code-Implementierung. ![]() In diesem Artikel haben wir die am häufigsten gestellten Fragen zu Java Spring-Interviews mit ihren detaillierten Antworten zusammengestellt. Damit Sie das Interview knacken können. ![]() Java 8 führt die Stream -API ein und bietet eine leistungsstarke und ausdrucksstarke Möglichkeit, Datensammlungen zu verarbeiten. Eine häufige Frage bei der Verwendung von Stream lautet jedoch: Wie kann man von einem Foreach -Betrieb brechen oder zurückkehren? Herkömmliche Schleifen ermöglichen eine frühzeitige Unterbrechung oder Rückkehr, aber die Stream's foreach -Methode unterstützt diese Methode nicht direkt. In diesem Artikel werden die Gründe erläutert und alternative Methoden zur Implementierung vorzeitiger Beendigung in Strahlverarbeitungssystemen erforscht. Weitere Lektüre: Java Stream API -Verbesserungen Stream foreach verstehen Die Foreach -Methode ist ein Terminalbetrieb, der einen Vorgang für jedes Element im Stream ausführt. Seine Designabsicht ist ![]() Anleitung zum TimeStamp to Date in Java. Hier diskutieren wir auch die Einführung und wie man Zeitstempel in Java in ein Datum konvertiert, zusammen mit Beispielen. ![]() Kapseln sind dreidimensionale geometrische Figuren, die aus einem Zylinder und einer Hemisphäre an beiden Enden bestehen. Das Volumen der Kapsel kann berechnet werden, indem das Volumen des Zylinders und das Volumen der Hemisphäre an beiden Enden hinzugefügt werden. In diesem Tutorial wird erörtert, wie das Volumen einer bestimmten Kapsel in Java mit verschiedenen Methoden berechnet wird. Kapselvolumenformel Die Formel für das Kapselvolumen lautet wie folgt: Kapselvolumen = zylindrisches Volumenvolumen Zwei Hemisphäre Volumen In, R: Der Radius der Hemisphäre. H: Die Höhe des Zylinders (ohne die Hemisphäre). Beispiel 1 eingeben Radius = 5 Einheiten Höhe = 10 Einheiten Ausgabe Volumen = 1570,8 Kubikeinheiten erklären Berechnen Sie das Volumen mithilfe der Formel: Volumen = π × R2 × H (4 ![]() Spring Boot vereinfacht die Schaffung robuster, skalierbarer und produktionsbereiteter Java-Anwendungen, wodurch die Java-Entwicklung revolutioniert wird. Der Ansatz "Übereinkommen über Konfiguration", der dem Feder -Ökosystem inhärent ist, minimiert das manuelle Setup, Allo ![]() |