package ru.job4j.listNode;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.NoSuchElementException;

public class Container<E> implements Iterable<E> {

    public Node<E> head;
    public Node<E> tail;
    public Node temp;

    public void add(E value) {
        Node<E> newNode = new Node<>(value);
        if (head == null) {
            temp = head = tail = newNode;  // и head и tail ссылаются на новый узел. Потому что в списке пока только один узел.
        } else {
            tail.next = newNode;    // последний узел начинает ссылаться на новый узел, который добавляется в конец
            tail = tail.next; // перекидываем ссылку tail на новый, только что добавленный в предыдущей строке узел
        }
    }



    @Override
    public Iterator<E> iterator() {
        return new simpleIterator();
    }

    class simpleIterator implements Iterator<E> {

        E value = null;
        @Override
        public boolean hasNext() {
            if (temp!=null) {
                return true;
            } else {
                return false;
            }
        }

        @Override
        public E next() {
            if (this.hasNext() == true) {
                value = (E) temp.value;
                temp = temp.next;
            } else {
                throw new NoSuchElementException();
            }
            return value;
        }
    }
}


@@ -24,36 +24,8 @@
 de;%0A
-import java.util.ArrayList;%0A
 impo
@@ -47,16 +47,16 @@
 erator;%0A
+
 import j
@@ -194,30 +194,8 @@
 ail;
-%0A    public Node temp;
 %0A%0A  
@@ -307,23 +307,16 @@
         
- temp =
  head = 
@@ -683,18 +683,16 @@
 %0A    %7D%0A%0A
-%0A%0A
     @Ove
@@ -840,24 +840,34 @@
     
-E value = null
+public Node temp = head
 ;%0A
+%0A
     
@@ -930,120 +930,26 @@
     
- if (temp!=null) %7B%0A                return true;%0A            %7D else %7B%0A                return false;%0A            %7D
+return temp!=null;
 %0A   
@@ -992,32 +992,60 @@
 blic E next() %7B%0A
+            E value = null;%0A
             if (
@@ -1048,13 +1048,8 @@
 if (
-this.
 hasN
@@ -1057,16 +1057,8 @@
 xt()
- == true
 ) %7B%0A

task #159