2012-03-19 90 views
-1

我有一個LinkedList類,我寫了,我有另一班學生。每個學生都有一個身份證,姓名,GPA ......我如何實現一個鏈接列表和另一個類

如何將這些變量作爲1元素添加到鏈接列表中。就好像我需要在該鏈接列表中搜索一個元素,我可以顯示該學生的所有信息。

如果您需要進一步解釋,請複製一些代碼。

+0

請這樣做,但基本上每個節點都應該有這樣的信息,例如一個節點可能會有:{nextNode,id,name,gpa,...}或者如果你願意,{nextNode,element}可能是一名學生。 – fbernardo 2012-03-19 21:18:47

回答

2

按照java.util.List的例子:

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

只需替換自己的參考和實現類:

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

對於尋找一個給定的學生來說,我會寫一個迭代器,可以使用Comarator並返回鏈表的過濾版本。

1

我想你有StudentMyLinkedList類,現在你想使用它們,因爲也許你的鏈表只支持整數項。您可以使用類似這樣

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

現在你需要的Student類添加爲你的鏈接列表中的節點的信息:

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 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(); 
} 

這只是一個示例,您可以改進代碼,但您明白了主意。

相關問題