-- | LinkedList | ArrayList |
联系 | 都是List的实现类,都在java.util包下 | |
实现原理 | 通过链表操作数据 | 通过数组操作数据 |
什么时候使用 | 改查 | 增删 |
Kelas LinkedList adalah berbeza daripada kelas ArrayList , ia menambah, memadam, mengubah suai dan menyemak senarai terpaut melalui operasi penuding dan nod
Langkah-langkah untuk menyesuaikan kelas LinkedList
1 Cipta kelas nod dengan atribut jenis Nod nod. Data jenis objek
2 Cipta pembina berparameter dan tanpa parameter bagi kelas nod
3 Cipta kelas LinkedList anda sendiri untuk melaksanakan antara muka Senarai
4 LinkedList Cipta objek nod baharu dalam kelas dan isytiharkan saiz untuk mewakili elemen dalam koleksi
5 Laksanakan kaedah size(), get() dan isEmpty() (serupa dengan ArrayList)
6. Tulis kaedah tambah() dengan satu parameter formal7 Tulis kaedah tambah() dengan dua parameter formal8 2 Terdapat dua atribut dalam kelas nod Nod : nod dan data Jenis nod ialah Nod Jenis data ialah Objek (kerana ia tidak dapat Menentukan jenis khusus data masuk)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)kaedah saiz()
@Override public int size() { return size; }kaedah isEmpty()
@Override public boolean isEmpty() { return size == 0; }kaedah get(int index)
@Override public Object get(int index) { Node p = node; for (int i = 0; i < index; i++) { p = p.next; } return p.data; }4 terima Sisipan data pada penghujung
@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++; }
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan kelas LinkedList tersuai dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!