Хотите узнать, как использовать java.util.LinkedList или как создать свой собственный LinkedList? Вам не нужно использовать java.util.LinkedList, чтобы создать (реализовать) свой собственный класс LinkedList.
Я использую Iterator, когда имею дело со стандартным java.util.LinkedList, а не когда я реализую свой собственный класс LinkedList.
Ниже приведена простая реализация класса LinkedList с методом append и print. Мой метод печати выполняет обход через LinkedList для отображения каждого элемента.
public class Solution {
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.append(1);
list.append(2);
list.append(3);
list.append(5);
list.append(4);
list.append(8);
list.print(list.head);
}
}
class Node {
Node next;
int data;
public Node(int d) {
data = d;
}
}
class LinkedList {
Node head;
public void append(int val) {
if (head == null) {
head = new Node(val);
return;
}
Node current = head;
while (current.next != null) {
current = current.next;
}
current.next = new Node(val);
}
public void print(Node head) {
Node current = head;
while (current != null) {
System.out.print(current.data + " ");
current = current.next;
}
}
}
Ниже приведен пример использования java.util.LinkedList и Iterator.
import java.util.LinkedList;
import java.util.Iterator;
public class Solution {
public static void main(String[] args) {
LinkedList<Integer> list = new LinkedList<Integer>();
list.add(1);
list.add(2);
list.add(4);
list.add(7);
}
public static void print(LinkedList<Integer> list) {
Iterator it = list.iterator();
while(it.hasNext()) {
System.out.print((int)(it.next()) + " ");
}
}
}
При использовании java.util.LinkedList вы можете даже просто напечатать LinkedList через System.out.println ()
import java.util.LinkedList;
import java.util.Iterator;
public class Solution {
public static void main(String[] args) {
LinkedList<Integer> list = new LinkedList<Integer>();
list.add(1);
list.add(2);
list.add(4);
list.add(7);
System.out.println(list);
}
}