A complete LinkedList program makes mutation order visible through its printed results.
Java LinkedList programs and expected output
Endpoint queue
import java.util.LinkedList;
public class TaskQueueDemo {
public static void main(String[] args) {
LinkedList<String> pendingTasks = new LinkedList<>();
pendingTasks.addLast("Validate invoice");
pendingTasks.addLast("Send receipt");
pendingTasks.addFirst("Check account");
System.out.println(pendingTasks);
System.out.println(pendingTasks.pollFirst());
System.out.println(pendingTasks.peekFirst());
System.out.println(pendingTasks.size());
}
}[Check account, Validate invoice, Send receipt]
Check account
Validate invoice
2Insertion after a matching stage
import java.util.Arrays;
import java.util.LinkedList;
import java.util.ListIterator;
public class ListEditDemo {
public static void main(String[] args) {
LinkedList<String> stages = new LinkedList<>(
Arrays.asList("Received", "Packed", "Dispatched"));
ListIterator<String> cursor = stages.listIterator();
while (cursor.hasNext()) {
if ("Packed".equals(cursor.next())) {
cursor.add("Quality checked");
break;
}
}
System.out.println(stages);
}
}[Received, Packed, Quality checked, Dispatched]The queue uses endpoints. The stage editor locates a matching value before it inserts. Both return an ordered sequence, but their costs differ because the second program searches.
Connected lessons
Continue with Java LinkedList: operations, internals and failure cases, Java LinkedList quiz.
Common Mistakes
Compile each public class in a file of the same name. These examples are single-threaded. Do not mistake printed output for a persistence or delivery guarantee.
java
linkedlist-examples
