Heim> Java> javaLernprogramm> Hauptteil

So definieren und implementieren Sie ArrayList und Sequenzliste in Java

WBOY
Freigeben: 2023-05-18 14:04:46
nach vorne
691 Leute haben es durchsucht

    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.

    So definieren und implementieren Sie ArrayList und Sequenzliste in Java

    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.

    So definieren und implementieren Sie ArrayList und Sequenzliste in Java

    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 istSo definieren und implementieren Sie ArrayList und Sequenzliste in Java

    Hier vereinfachen wir den Code wie folgt:

    So definieren und implementieren Sie ArrayList und Sequenzliste in JavaWenn 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.

    So definieren und implementieren Sie ArrayList und Sequenzliste in JavaHinweis: 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.So definieren und implementieren Sie ArrayList und Sequenzliste in Java

    Danach durchqueren wir das Array immer noch direkt.

    So definieren und implementieren Sie ArrayList und Sequenzliste in JavaDie Suche nach Elementen

    erfordert auch hier eine Nulloperation.

    So definieren und implementieren Sie ArrayList und Sequenzliste in Java

    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.So definieren und implementieren Sie ArrayList und Sequenzliste in Java

    Ändern Sie den Wert der Pos-Position

    So definieren und implementieren Sie ArrayList und Sequenzliste in JavaLö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.

    So definieren und implementieren Sie ArrayList und Sequenzliste in Java

    Ermitteln Sie die Länge der Sequenztabelle.

    So definieren und implementieren Sie ArrayList und Sequenzliste in JavaLöschen Sie die Sequenztabelle.

    So definieren und implementieren Sie ArrayList und Sequenzliste in JavaDie 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:

    So definieren und implementieren Sie ArrayList und Sequenzliste in Java

    ArrayList implementiert RandomAccess-Schnittstelle, die angibt, dass ArrayList Direktzugriff unterstützt.

      ArrayList implementiert die Cloneable-Schnittstelle und gibt an, dass ArrayList geklont werden kann.
    1. ArrayList implementiert die Serializable-Schnittstelle und gibt an, dass ArrayList die Serialisierung unterstützt.
    2. 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.
    3. Die unterste Ebene von ArrayList ist ein kontinuierlicher Raum und kann dynamisch erweitert werden. Es handelt sich um eine dynamische Typsequenzliste.
    4. Verwenden Sie
    5. public static void main(String[] args) { // ArrayList创建,推荐写法 // 构造一个空的列表 List list1 = new ArrayList<>(); // 构造一个具有10个容量的列表 List list2 = new ArrayList<>(10); list2.add(1); list2.add(2); list2.add(3); // list2.add("hello"); // 编译失败,List已经限定了,list2中只能存储整形元素 // list3构造好之后,与list中的元素一致 ArrayList list3 = new ArrayList<>(list2); // 避免省略类型,否则:任意类型的元素都可以存放,使用时将是一场灾难 List list4 = new ArrayList(); list4.add("111"); list4.add(100); }
      Nach dem Login kopieren

      Einige gängige Methoden

    Erklärung der Methode

    ArrayList-Traversal Loop-Traversal Iterator
    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
    foreach-Traversal
    System.out.println("======迭代器1========="); ElementObservableListDecorator list; Iterator it = list.iterator(); while (it.hasNext()) { System.out.println(it.next()); } System.out.println("======迭代器2========="); ListIterator it2 = list.listIterator(); while (it2.hasNext()) { System.out.println(it2.next()); }
                
    Nach dem Login kopieren
    Sequentielle Tabelle und Nummer Der Unterschied zwischen Gruppen:

    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.So definieren und implementieren Sie ArrayList und Sequenzliste in Java

    Ein Array ist also eigentlich eine unvollständige Sequenzliste.

    Zu beachtende Punkte in der Sequenztabelle:So definieren und implementieren Sie ArrayList und Sequenzliste in Java

    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!

    Verwandte Etiketten:
    Quelle:yisu.com
    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
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!