title: Remove element from linked list java
body: <p>HI :) I have a program about linked lists and we're supposed to be able to delete two numbers if they are the same.. and i know how to do it from the start but how do you delete two numbers if they are in the middle of the linked list?? All 3 run together
  Heres my numbers program </p>
  
  <pre><code>import java.util.Scanner;
  
  public class Numbers {
  
      /**
       * @param args
       */
      public static void main(String[] args) {
          // TODO Auto-generated method stub
          Scanner reader = new Scanner (System.in);
          LinkedList link=new LinkedList();
          LinkedList link2= new LinkedList();
          System.out.println("Enter in 5 numbers to put in your list");
          int num1, num2, num3, num4, num5;
          num1 = reader.nextInt();
          link.addToStart(num1);
          num2 = reader.nextInt();
          link.addToStart(num2);
          num3 = reader.nextInt();
          link.addToStart(num3);
          num4 = reader.nextInt();
          link.addToStart(num4);
          num5 = reader.nextInt();
          link.addToStart(num5);
  
          link2.addToStart(num5);
          link2.addToStart(num4);
          link2.addToStart(num3);
          link2.addToStart(num2);
          link2.addToStart(num1);
  
          System.out.println("The size of the linked list is " + link.size());
  
          System.out.print("Here is the list ");
          link2.outputList();
          System.out.println();
          System.out.print("Here is the list in reverse order ");
          link.outputList( );
          System.out.println();
  
          if (num1==num2){
               link2.deleteHeadNode(num1);
               link2.deleteHeadNode(num2);
               System.out.println("Here is the list with the removed numbers");
              link2.outputList();
              System.out.println();
              System.out.println("Here is its size");
              System.out.println(link2.size());
          }
          else if (num2==num3){
              link2.deleteHeadNode(num2);
              link2.deleteHeadNode(num3);
              System.out.println("Here is the list with the removed numbers");
             link2.outputList();
             System.out.println();
             System.out.println("Here is its size");
             System.out.println(link2.size());
         }
      }
  
  }
  </code></pre>
  
  <p>Here is the node program</p>
  
  <pre><code>public class Node1
  {
      private Object item;
      private int count;
      private Node1 link;
  
      public Node1( )
      {
          link = null;
         item = null;
          count = 0;
      }
  
      public Node1(int num, int newCount, Node1 linkValue)
      {
          setData(num, newCount);
          link = linkValue;
      }
  
      public void setData(int num, int newCount)
      {
          item = num;
          count = newCount;
      }
  
      public void setLink(Node1 newLink)
      {
          link = newLink;
      }
  
      public Object getItem( )
      {
          return  item;
      }
  
      public int getCount( )
      {
          return count;
      }
  
      public Node1 getLink( )
      {
          return link;
      }
  }
  </code></pre>
  
  <p>And here is linked lists program</p>
  
  <pre><code>public class LinkedList
  {
      private Node1 head;
  
      public LinkedList( )
      {
          head = null;
      }
  
      /**
       Adds a node at the start of the list with the specified data.
       The added node will be the first node in the list.
      */
      public void addToStart(int num)
      {
          head = new Node1(num, num, head);
      }
  
      /**
       Removes the head node and returns true if the list contains at least
       one node. Returns false if the list is empty.
       * @param num1 
      */
      public boolean deleteHeadNode(int num1 )
      {
          if (head != null)
          {
              head = head.getLink( );
              return true;
          }
          else
              return false;
      }
  
      /**
       Returns the number of nodes in the list.
      */
      public int size( )
      {
          int count = 0;
          Node1 position = head;
  
          while (position != null)
          {
              count++;
              position = position.getLink( );
          }
          return count;
      }
  
      public boolean contains(String item)
      {
          return (find(item) != null);
      }
  
      /**
       Finds the first node containing the target item, and returns a
       reference to that node. If target is not in the list, null is returned.
      */
      private Node1 find(String target)
      {
          Node1 position = head;
          Object itemAtPosition;
          while (position != null)
          {
              itemAtPosition = position.getItem( );
              if (itemAtPosition.equals(target))
                  return position;
              position = position.getLink( );
          }
          return null; //target was not found
      }
  
      public void outputList( )
      {
          Node1 position = head;
          while (position != null)
          {
              System.out.print(position.getItem( ) + " ");
              position = position.getLink( );
          }
      }
  
      public boolean isEmpty( )
      {
          return (head == null);
      }
  
      public void clear( )
      {
          head = null;
      }
  
  }
  </code></pre>