2012-03-19 2 views
-1

私はLinkedListクラスを作成しましたが、私は別のクラスのStudentsを持っています。各生徒はID、名前、GPAを持っています......リンクリストと別のクラスを実装するにはどうすればいいですか?

これらの変数をリンクリストに1要素として追加するにはどうすればよいですか?リンクされたリスト内の要素を検索する必要があるかのように、その学生のすべての情報を表示できます。

さらに詳しい説明が必要な場合は、いくつかのコードをコピーしてください。

+0

基本的に各ノードにはその情報が必要です。たとえば、ノードには{nextNode、id、name、gpa、...}があります。または、必要ならば{nextNode、element}学生かもしれない。 – fbernardo

答えて

2

はjava.util.Listの例に従ってください:ちょうどあなた自身の参照と実装クラスに置き換え

List<Student> roster = new ArrayList<Student>(); 

:与えられた学生のインスタンスを検索するためのよう

YourLinkedList roster = new YourLinkedList(); 
Student s = new Student(); 
roster.add(s); 

を、私が書きたいですComatorを使用し、リンクされたリストのフィルタリングされたバージョンを返すことができるイテレータ。

1

StudentMyLinkedListクラスがあり、今ではそれらを使いたいと思っています。リンクされたリストが整数アイテムをサポートしているだけかもしれないからです。

public class MyLinkedList { 
    class MyNode { 
     private Student student; 
     private MyNode next; 
     public MyNode(Student student) { 
      this.student = student; 
      this.next = null; 
     } 
     public Student getStudent() { 
      return this.student; 
     } 
    } 
    private MyNode root; 
    private int size; 
    public MyLinkedList { 
     this.root = null; 
    } 
    public void add(Student student) { 
     //this is just one way to implement the insert method 
     //you can rewrite to use your own implementation 
     MyNode node = new MyNode(student); 
     if (root == null) { 
      root = node; 
     } else { 
      MyNode currentNode = root; 
      while (currentNode.next != null) { 
       currentNode = currentNode.next; 
      } 
      currentNode.next = node; 
     } 
     size++; 
    } 
    public void printData() { 
     //method used to print the content of the linked list 
     MyNode currentNode = root; 
     while (currentNode != null) { 
      Student student = currentNode.getStudent(); 
      System.out.println("Id: " + student.getId + " Name: " + student.getName()); 
      currentNode = currentNode.next; 
     } 
    } 
} 

この方法は、使用して新しいリンクリストを実装するには:あなたは今、あなたはあなたのリンクリスト内のノードのための情報としてStudentクラスを追加する必要があり、この

public class Student { 
    private int id; 
    private String name; 
    private double gpa; 
    //getters and setters... 
} 

ようなものを使用することができますStudentクラス。コードを試してみましょう:

public static void main(String args[]) { 
    MyLinkedList mll = new MyLinkedList; 
    Student student; 
    student = new Student(); 
    student.setId(1); 
    student.setName("Luiggi"); 
    mll.add(student); 
    student = new Student(); 
    student.setId(2); 
    student.setName("Mendoza"); 
    mll.add(student); 
    mll.printData(); 
} 

これは単なるサンプルである、あなたはコードを向上させることができますが、メインのアイデアを得ます。

関連する問題