Advertisement
Guest User

Untitled

a guest
Nov 19th, 2019
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.71 KB | None | 0 0
  1. package Problema3;
  2.  
  3. import java.util.Iterator;
  4.  
  5. public class LinkedList<T> {
  6.     private static class Node<T> {
  7.         T value;
  8.         Node<T> next;
  9.  
  10.         Node(T value) {
  11.             this.value = value;
  12.             this.next = null;
  13.         }
  14.  
  15.         Node(T value, Node<T> nextNode) {
  16.             this.value = value;
  17.             this.next = nextNode;
  18.         }
  19.     }
  20.  
  21.     public class ListIterator implements Iterator<T> {
  22.         Node<T> iterator = LinkedList.this.first;
  23.  
  24.         @Override
  25.         public boolean hasNext() {
  26.             return iterator != null;
  27.         }
  28.  
  29.         @Override
  30.         public T next() {
  31.             Node<T> prv = iterator;
  32.             iterator = iterator.next;
  33.  
  34.             return prv.value;
  35.         }
  36.     }
  37.  
  38.     Node<T> first, last;
  39.  
  40.     //Insereaza un nod la inceputul listei
  41.     public void addFirst(T data) {
  42.         Node<T> newNode = new Node<T>(data);
  43.         if (this.first == null && this.last == null) {
  44.             this.first = newNode;
  45.             this.last = newNode;
  46.             return;
  47.         }
  48.         newNode.next = this.first;
  49.         this.first = newNode;
  50.     }
  51.     //Insereaza un nod la sfarsitul listei
  52.     public void add(T data) {
  53.         Node<T> newNode = new Node<T>(data);
  54.         if (this.first == null && this.last == null) {
  55.             this.first = newNode;
  56.             this.last = newNode;
  57.             return;
  58.         }
  59.         last.next = newNode;
  60.         this.last = newNode;
  61.     }
  62.     //Returneaza primul nod din lista
  63.     public T getNode() {
  64.         return this.first.value;
  65.     }
  66.     //Returneaza un obiect de tip ListIterator
  67.     public Iterator<T> iterator() {
  68.         return new ListIterator();
  69.     }
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement