Java Implementing Singly Linked List

  • Context: Comp Sci 
  • Thread starter Thread starter Robben
  • Start date Start date
  • Tags Tags
    Java List
Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
5 replies · 3K views
Robben
Messages
166
Reaction score
2

Homework Statement



I am implementing a singly linked list but when I am in my main method, to add into my singly linked list, nothing happens.

Homework Equations


[/B]
None

The Attempt at a Solution



I am trying to implement a singly linked list.

My singly linked list, where I implemented a class named linkedlist, that I defined (this implementation of linkedlist is not the java class linkedlist, it is my own version of linkedlist):

Code:
public class SinglyLinkedList<E> implements LinkedList<E> {

    public class Node<E> {

        public Node<E> next;
        public E element;

        public Node(E element) {
  
            this.element = element;
        }

        public Node (E element, Node<E> next) {
       
            this.element = element;
            this.next = next;
        }

        public E getElement() {

            return element;
        }

        public Node<E> getNext() {
    
            return next;
        }

        public void setElement(E element) {
  
            this.element = element;
        }

        public void setNext(Node<E> next) {
  
            this.next = next;
        }
    }

    public Node<E> head;
    public Node<E> tail;
    public int total;

    public SinglyLinkedList() {

        this.head = null;
        this.tail = null;  
        total = 0;
    }

    public void add(E element) {

        Node<E> singlyAdd = new Node<E>(element);

        if (tail == null) {

            head = singlyAdd;
            tail = singlyAdd;
        } else {

            tail.setNext(singlyAdd);
            tail = singlyAdd;
        }
  
        total++;
    }
}

But when I go to my main method to add into my SinglyLinkedList, it doesn't add anything. I am wondering what is wrong with my code?
 
Last edited:
on Phys.org
gabbagabbahey said:
My Java is a little rusty, but isn't LinkedList a Class, how does one Class implement another?

I redefined the LinkedList class. I can post it if you want but it's just an interface with a few methods like add, addall, remove, get, size, and more.
 
What does it mean to find two lists, given initial conditions for each and a dual array implementation of linked lists?
 
I believe there might be some inconsistency with this line and your constructors:

Code:
Node<E> singlyAdd = new Node<E>(element);

Also, the way your ##\text{push}()## method is written is a bit different than I'd expect (I'm referring to your ##\text{add}()## method). Usually, most singly linked lists push the new node onto the front of the list rather than the rear. Here's some sample code with the constructor call omitted (I leave it to you):

Code:
public void Push(Node<E> headRef, E element) {
     Node<E> newNode = constructor call...;
     newNode.element = element;
     newNode.next = headRef;
     headRef = newNode;
}
 
  • Like
Likes   Reactions: Robben