2012-04-17 15 views
1

私はlinkedlistのaddメソッドを実装しようとしていますが、データ型は必要ですが、紛失していて動作していません。generic linkedlistを実装するメソッドjava

public class LinkedList <T>extends AbstractList { 

private class Node { 

    T data; 
    Node next; 

    Node(T data, Node next) { 
     this.data = data; 
     this.next = next; 
    } 

    Node(T data) { 
     this(data, null); 
    } 
} 
Node first; 
Node last; 

public LinkedList() { 
    first = null; 
    last = null; 
} 

@Override 
public boolean add(T item) { 

    Node newNode = new Node((T)item); 

    if (isEmpty()) { 
     first = newNode; 
     last = first; 
     return true; 
    } 

    last.next = newNode; 
    last = null; 
    return true; 
} 

}

+2

何か問題がありますか?何が問題ですか? – talnicolas

+0

'last = null;'が正しくないように見えます。 'last = newNode;'おそらく? また、上記のコメントにノード –

+0

'last = newNode'と' last.next = null' – noMAD

答えて

1

あなたは私達にあなたの具体的な問題を教えていないので、我々はそれを修正することができない、唯一の推測します。

last.next = newNode; 
last = newNode; 

はあなたがなぜ理解していることに注意してください:あなたの宣言は、あなたが必要とする代わりに、

public class LinkedList<T> extends AbstractList<T> { ... } 
0

する必要があります - 私も見

1つの問題は、入力します(非ジェネリック)生としてAbstractListを拡張することです。

新しいノードを追加する前に、lastはリストの最後のエントリへの参照です。

この新しいノードへの参照を にすることです。

2行目は、lastを更新してこの新しいものも参照します。

関連する問題