diff --git a/assignment/src/main/java/appointmentplanner/customlist/CustomLinkedListImpl.java b/assignment/src/main/java/appointmentplanner/customlist/CustomLinkedListImpl.java index 316730d..c1d9840 100644 --- a/assignment/src/main/java/appointmentplanner/customlist/CustomLinkedListImpl.java +++ b/assignment/src/main/java/appointmentplanner/customlist/CustomLinkedListImpl.java @@ -1,5 +1,6 @@ package appointmentplanner.customlist; +import java.util.ArrayList; import java.util.Iterator; import java.util.function.Predicate; @@ -122,6 +123,7 @@ public class CustomLinkedListImpl implements CustomLinkedList { } CustomLinkedListNode nodeBefore = traverseFind(head, reference, ItemPosition.BEFORE); + CustomLinkedListNode nodeToInsert = new CustomLinkedListNode<>(nodeBefore.getNext(), item); nodeBefore.setNext(nodeToInsert); } @@ -204,4 +206,18 @@ public class CustomLinkedListImpl implements CustomLinkedList { return items; } + private ArrayList mapToArrayList(CustomLinkedListNode node, ArrayList list) { + if (node == null) { + return list; + } + mapToArrayList(node.getNext(), list); + list.add(node.getItem()); + return list; + } + + @Override + public ArrayList toArrayList() { + return mapToArrayList(head, new ArrayList<>()); + } + }