/** * Linked List data structure. * - Linked pointer * - The last element is null * - Don't waste memory */ publicclassLinkedList<T> { private Node node;
/** * Add element for last. * * @params data Generics */ publicvoidadd(T data){ Node previousNode = this.node; Node currentNode = this.node.getNext(); while (currentNode != null) { if (currentNode.getData().equals(data)) { previousNode.setNext(currentNode.getNext()); return; } previousNode = currentNode; currentNode = currentNode.getNext(); }
Node node = new Node(); node.setData(data); previousNode.setNext(node); } }
/** * Linked List data structure. * - Linked pointer * - The last element is null * - Don't waste memory */ publicclassLinkedList<T> { private Node node; /** * Get element. * * @param position Position * @return Data */ public T get(int position){ if (this.node == null) { returnnull; }
Node currentNode = this.node; for (int i = 0; i < position; i++) { currentNode = currentNode.getNext(); }
/** * Linked List data structure. * - Linked pointer * - The last element is null * - Don't waste memory */ publicclassLinkedList<T> { private Node node; /** * Remove list data. * The paramter data is removing * * @params data Generics */ publicvoidremove(T data){ if (this.node == null) { return; }
if (this.node.data.equals(data)) { this.node = this.node.next; return; }
/** * Remove list data from position. * The parameter position data is removing * * @params position Index of linked list */ publicvoidremove(int position){ if (this.node == null) { return; }
if (position == 0) { this.node = this.node.next; }
int currentPosition = 0; Node previousNode = this.node; Node currentNode = this.node.next; for (int i = 0; i <= position; i++) { if ((position-1) == i) { previousNode.next = currentNode.next; return; } previousNode = currentNode; currentNode = currentNode.next; } } }
publicclassMain{ publicstaticvoidmain(String args[]){ LinkedList<String> list = new LinkedList<String>(); list.addFirst("test1"); System.out.println(list);
/** * Linked List data structure. * - Linked pointer * - The last element is null * - Don't waste memory */ publicclassLinkedList<T> { private Node node;
/** * Get element. * * @param position Position * @return Data */ public T get(int position){ if (this.node == null) { returnnull; }
Node currentNode = this.node; for (int i = 0; i < position; i++) { currentNode = currentNode.getNext(); }
return (T)currentNode.getData(); }
/** * LinkedList size. * * @return size */ publicintsize(){ int count = 0; Node currentNode = this.node; while (currentNode != null) { count++; currentNode = currentNode.getNext(); } return count; } /** * Add element for lead. * * @params data Generics */ publicvoidaddFirst(T data){ Node node = new Node(); node.setData(data); node.setNext(this.node);
this.node = node; } /** * Add element for last. * * @params data Generics */ publicvoidadd(T data){ Node previousNode = this.node; Node currentNode = this.node.getNext(); while (currentNode != null) { if (currentNode.getData().equals(data)) { previousNode.setNext(currentNode.getNext()); return; } previousNode = currentNode; currentNode = currentNode.getNext(); }
Node node = new Node(); node.setData(data); previousNode.setNext(node); }
/** * Check contain data in LickedList. * * @params data Generics * @return true or false */ publicbooleancontains(T data){ Node currentNode = this.node; while (currentNode != null) { if (currentNode.getData().equals(data)) { returntrue; } currentNode = currentNode.getNext(); }
returnfalse; }
/** * Remove list data. * The paramter data is removing * * @params data Generics */ publicvoidremove(T data){ if (this.node == null) { return; }
if (this.node.getData().equals(data)) { this.node = this.node.getNext(); return; }
/** * Remove list data from position. * The parameter position data is removing * * @params position Index of linked list */ publicvoidremove(int position){ if (this.node == null) { return; } if (position == 0) { this.node = this.node.getNext(); }
Node previousNode = this.node; Node currentNode = this.node.getNext(); for (int i = 0; i <= position; i++) { if ((position-1) == i) { previousNode.setNext(currentNode.getNext()); return; } previousNode = currentNode; currentNode = currentNode.getNext(); } } /** * Override method. */ @Override public String toString(){ StringBuilder builder = new StringBuilder(); builder.append("["); Node currentNode = this.node; while (currentNode != null) { builder.append(currentNode.getData()); if (currentNode.getNext() != null) { builder.append(", "); } currentNode = currentNode.getNext(); } builder.append(']'); return builder.toString(); } }