Comment code un aperçu de la méthode pour la Liste chaînée

Je suis de la création d'une liste liée de mise en œuvre pour une pile. J'ai la pop et de la méthode push fait, mais je n'arrive pas à obtenir le coup d'oeil méthodes de droit. Le code que j'ai maintenant dans il y, retourne l'adresse de la mémoire je pense.

Voici mon code:

public class LinkedStack<T> implements StackADT<T> {

private int count;
private LinearNode<T> contents;

public LinkedStack() {
    count = 0;
    contents = null;
}

@Override
public void push(T element) {
    LinearNode<T> top = new LinearNode<T>(element);

    if (contents == null) {
        contents = top;
    } else {
        LinearNode<T> current = contents;

        while (current.getNext() != null) {
            current = current.getNext();
        }
        current.setNext(top);
    }
    count++;
}

@SuppressWarnings("unchecked")
@Override
public T pop() {
    T item = (T) contents;
    contents = contents.getNext();
    count--;
    return item;
}

@SuppressWarnings("unchecked")
@Override
public T peek() throws NoSuchOperationException {

    T top = (T) contents;
    if(top == null){
        throw new NoSuchOperationException();
    }
    return top;
}

@Override
public boolean isEmpty() {
    //TODO Auto-generated method stub
    return false;
}

@Override
public int size() {
    return count;
}
}

C'est ce que les sorties lorsque j'appelle la méthode lire. J'ai utilisé ma méthode de commande pour ajouter un objet, et je l'ai testé avec la méthode de dimensionnement. Il a montré que j'ai ajouté un élément. Alors j'ai appelé ma méthode pop et affiche la taille de nouveau à assurez-vous que travaillé.

C'est ma sortie de la méthode lire:

LinearNode@33f42b49

Voici mon LinearNode classe:

public class LinearNode<T> {
private T element;
private LinearNode<T> next;

public LinearNode() {
    this.element = null;
    this.next = null;
}
public LinearNode(T element) {
    this.element = element;
    this.next = null;
}
public T getElement() {
    return element;
}
public void setElement(T _element) {
    this.element = _element;
}
public LinearNode<T> getNext() {
    return next;
}
public void setNext(LinearNode<T> next) {
    this.next = next;
}

}

Si c'est les devoirs, s'il vous plaît ajouter un "devoirs" de la balise.
Que voulez-vous dire par "je n'arrive pas à obtenir le coup d'oeil méthodes"? Ne vous obtenez une erreur de compilation? Une trace de la pile? Sortie incorrecte? Veuillez lire ce lien: stackoverflow.com/questions/how-to-ask
Je pense que votre code est correct. Faites-vous un sysout sur les résultats de l'œil? Si oui, vous verrez probablement une adresse de mémoire puisque c'est un objet de type T.
C'est ma sortie lorsque j'appelle ma méthode lire: LinearNode@33f42b49
Ce n'est pas une adresse de mémoire, de son Objet.toString() (qui est l' .hashcode() en hexadécimal...)

OriginalL'auteur Brock | 2011-10-06