LinkedList | ArrayList# 🎜🎜# | |
sind alle Implementierungsklassen von List, alle unter dem java.util-Paket | ||
Betriebsdaten über verknüpfte Liste | Betriebsdaten über Array | |
Hinzufügen und löschen |
1. Erstellen Sie eine Knotenklasse mit den Attributen Knotentyp Knoten und Objekttyp Daten
2. Erstellen eine Knotenklasse mit Parametern und einem Konstruktor ohne Parameter
3 Erstellen Sie Ihre eigene LinkedList-Klasse, um die List-Schnittstelle zu implementieren
4. Erstellen Sie ein neues Knotenobjekt in der LinkedList-Klasse und Deklarieren Sie eine Größe zur Darstellung der Elemente in
5. Implementieren Sie die Methoden size(), get(), isEmpty() (ähnlich wie ArrayList)
6 Formale Parameter add()-Methode
7 Schreiben Sie die add()-Methode mit zwei formalen Parametern
8. Erstellen Sie eine Testklasse, um den Code
#🎜 zu testen 🎜#2. Knotenstruktur Die Punktklasse hat zwei Attribute: Knoten und Daten Der Knotentyp ist KnotenDer Datentyp ist Objekt (da es nicht in der Lage ist, den spezifischen Typ der eingehenden Daten zu bestimmen)package MyLinkedList; public class Node { // 定义数据 Object data; // 定义下一结点 Node next; public Node(Object data, Node next) { this.data = data; this.next = next; } public Node() { } }
3, size(), isEmpty(), get(int index)#🎜🎜 #
size()method@Override public int size() { return size; }
@Override public boolean isEmpty() { return size == 0; }
@Override public Object get(int index) { Node p = node; for (int i = 0; i < index; i++) { p = p.next; } return p.data; }
@Override public boolean add(Object o) { add(size, o); return true; }
@Override public void add(int index, Object element) { // 找到需要插入的位置的结点 Node p = node; for (int i = 0; i < index; i++) { p = p.next; } // 创建新结点 Node node1 = new Node(); // 将数据存入集合中 node1.data = element; // 让node1的指针指向下一结点 node1.next = p.next; // 确定node1的直接前驱结点 p.next = node1; // 更新size size++; }
package MyLinkedList; public class test { public static void main(String[] args) { LinkedList linkedList = new LinkedList(); linkedList.add("111"); linkedList.add("222"); linkedList.add("333"); linkedList.add("444"); for (int i = 1; i < linkedList.size(); i++) { System.out.println(linkedList.get(i)); } System.out.println("=================="); linkedList.add(2,999); for (int i = 1; i < linkedList.size(); i++) { System.out.println(linkedList.get(i)); } } }
Das obige ist der detaillierte Inhalt vonSo implementieren Sie eine benutzerdefinierte LinkedList-Klasse in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!