2016-09-29 17 views
0

私はLinkedListを使ってjavaで練習しています。私は練習の1つが単一リンクリストを使用して学生ディレクトリを作成することである本を買った。ディレクトリには、学生のフルネームとGPAが格納されます。ゼロからLinkedListメソッドを実装する

removeFirst、removeLast、insertFirst、insertLast、getStudentなどのメソッド(通常はlinkedlistのイテレータに組み込まれています)のコードを実装して記述する必要があります。これらのカスタムイテレータをどこに作成するかはわかりません。目標は、私のメインでStudentDirectory型のリンクリストを作成し、自分のカスタムメソッドを使用してリンクリスト内の生徒のリストを削除、追加、取得、生成できるようにすることです。これにより、これらのメソッドはすべて私のStudentDirectoryクラスに存在する必要があると信じていますが、残念ながら私は始める方法がわかりません。

私は自分のコードを掲載しましたが、正しい方向に軽く感謝します。私は他の誰かのコードをコピーするのではなく、私自身でこれを行うことができるようにするためのトータルソリューションを望んでいません。私は

public class studentDirectory { 
    private String fullName; 
    private double gpa; 




    public studentDirectory(String name, double gpa){ 
     fullName = name; 
     this.gpa = gpa; 
    } 

    public void setGpa(double grade){ 
     gpa = grade; 
    } 

    public void setName(String name){ 
     fullName = name; 
    } 

    public double getGpa(){ 
     return gpa; 
    } 

    public String getName(){ 
     return fullName; 
    } 

    public void insertAtEnd(studentDirectory lastItem){ 


    } 

    public void insertAtStart(studentDirectory firstItem){ 

    } 

    public void getStudent(studentDirectory student){ 

    } 

    public void updateGpa(studentDirectory update){ 

    } 

    public void removeFirst(studentDirectory first){ 

    } 

    public void removeLast(studentDirectory last){ 

    } 

    public void generateStudentList(){ 

    } 
+1

Nodeクラスが必要になります私はおそらく* 'ノード'を作成することにより、*開始すると、それは 'T'(または 'オプション')[値]を持っているかもしれません** ** 'Node '(または 'Optional >') 'next'を返します。しかし、それは**文字通り**あなたが "LinkedList"に必要な最小値です。 –

答えて

1

を頭私はあなたがここにいくつかの概念が混乱していると思う私は、LinkedListの内のノードを横断経由のLinkedListを反復処理する必要があるが、私はどのように/どこのノードを宣言するために知らない理解しています。リストは一般的なものでなければならない。つまり、リストに含まれるデータ型について知るべきではない。だから、理想的には、一般的なリストを作ることによって、リスト自体から生徒データを分離する必要があります

今すぐあなたの学生のディレクトリは LinkedList<Student>

あなたが意味をなす一覧表示方法の一部としてモデル化することができ

public class LinkedList<T>{ 
    // your LinkedList needs nodes: 
    static class Node<T>{ 
     Node<T> next; 
     T value; 
    } 
    Node<T> rootNode; 
} 

public class Student{} 

LinkedListクラス(insertAtStart、insertAtEnd)、学生固有のものはすべてStudentクラスに移動する必要があります。

そして、あなたのLinkedListのクラスも

+0

したがって、removeLast、removeFirstなどはLinkedList クラスで宣言する必要があります。クラスにかかわらず、私はまだリンクリストノードを検索する方法について混乱しています。私はコンセプトを理解しているノードノード - >(node.next == null)何かを行うが、私は '次の'が混乱していると思います – Chris

+0

@クリス私はいくつかのノードコードを追加 –

関連する問題