Java-Grundlagen – List-Collection-Implementierungsklasse

(1) Listen Sie die Funktionen der Sammlungsimplementierungsklasse auf:

  • ArrayList, LinkedList: geordnet, wiederholbar, indiziert.

(2) Für die List-Sammlung einzigartige Methoden:

  • Da die List-Sammlung die Indizierung unterstützt, verfügt sie über viele einzigartige APIs für Indizierungsvorgänge, und List kann auch die Funktionen anderer Sammlungen erben.
Methodenname veranschaulichen
void add(int index,E element) fügt das angegebene Element an der angegebenen Position in dieser Sammlung ein
E entfernen(int index) Löschen Sie das Element am angegebenen Index und geben Sie das gelöschte Element zurück
E set(int index,E element) Ändern Sie das Element am angegebenen Index und geben Sie das geänderte Element zurück
E get(int index) Gibt das Element am angegebenen Index zurück
import java.util.ArrayList;
import java.util.List;

/**
 * List集合特点
 * 有序,可重复,有索引
 */
public class ListDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("java");
        list.add("css");
        System.out.println(list);//[java, css]

        //1.在某个索引位置插入元素
        list.add(1,"html");
        System.out.println(list);//[java, html, css]

        //2.根据索引删除元素,返回被删除元素
        System.out.println(list.remove(1));//html
        System.out.println(list);//[java, css]

        //3.根据索引获取元素:public E get(int index):返回集合中指定位置的元素
        System.out.println(list.get(0));//java

        //4.修改索引位置处的元素:public E set(int index,E element):返回修改前的数据
        System.out.println(list);//[java, css]
        System.out.println(list.set(0, "html"));//java
        System.out.println(list);//[html, css]
    }
}

(3) Das zugrunde liegende Prinzip der ArrayList-Sammlung:

  • Das zugrunde liegende Prinzip von ArrayList basiert auf Arrays: Suchen Sie Elementblöcke gemäß dem Index, und fügen Sie Elemente hinzu und löschen Sie sie.
  • Wenn die Sammlung zum ersten Mal erstellt und das erste Element hinzugefügt wird, wird unter der Haube ein Array mit einer Standardlänge von 10 erstellt. 

 (4) Funktionen von LinkedList:

  • Die zugrunde liegende Datenstruktur ist eine doppelt verknüpfte Liste, die Abfrage ist langsam und die Geschwindigkeit der ersten und letzten Operation ist extrem hoch, sodass es für die erste Operation viele eindeutige APIs gibt.

(5) Einzigartige Funktionen der LinkedList-Sammlung:

Methodenname veranschaulichen
public void addFirst(E e) fügt das angegebene Element am Anfang dieser Liste ein
public void addLast(E e) Hängt das angegebene Element an das Ende dieser Liste an
öffentliches E getFirst() gibt das erste Element in dieser Liste zurück
öffentliches E getLast() gibt das letzte Element dieser Liste zurück
public E removeFirst() Entfernt das erste Element in dieser Liste und gibt es zurück
public E removeLast() Entfernt das letzte Element aus dieser Liste und gibt es zurück

(6) LinkedList-Sammlung implementiert Stapel- und Warteschlangencode:

import java.util.LinkedList;

/**
 * LinkedList实现栈和队列结构(双链表)
 */
public class ListDemo01 {
    public static void main(String[] args) {
        //栈:先进后出
        LinkedList<String> stack = new LinkedList<>();
        //压栈,入栈    可用stack.push("第1个");或者以下格式
        stack.addFirst("第1个");
        stack.addFirst("第2个");
        stack.addFirst("第3个");
        stack.addFirst("第4个");
        System.out.println(stack);//[第4个, 第3个, 第2个, 第1个]
        //出栈 弹栈     可用stack.pop();或者以下格式
        System.out.println(stack.removeFirst());//第4个
        System.out.println(stack.removeFirst());//第3个
        System.out.println(stack.removeFirst());//第2个
        System.out.println(stack);//[第1个]

        //队列:先进先出
        LinkedList<String> queue = new LinkedList<>();
        //入队    可用queue.offerLast();或者以下格式
        queue.addLast("1号");
        queue.addLast("2号");
        queue.addLast("3号");
        queue.addLast("4号");
        System.out.println(queue);//[1号, 2号, 3号, 4号]
        //出队
        System.out.println(queue.removeFirst());//1号
        System.out.println(queue.removeFirst());//2号
        System.out.println(queue.removeFirst());//3号
        System.out.println(queue);//[4号]

    }
}

Supongo que te gusta

Origin blog.csdn.net/weixin_61275790/article/details/130057383
Recomendado
Clasificación