私はLinkedListクラスを作成しましたが、私は別のクラスのStudentsを持っています。各生徒はID、名前、GPAを持っています......リンクリストと別のクラスを実装するにはどうすればいいですか?
これらの変数をリンクリストに1要素として追加するにはどうすればよいですか?リンクされたリスト内の要素を検索する必要があるかのように、その学生のすべての情報を表示できます。
さらに詳しい説明が必要な場合は、いくつかのコードをコピーしてください。
私はLinkedListクラスを作成しましたが、私は別のクラスのStudentsを持っています。各生徒はID、名前、GPAを持っています......リンクリストと別のクラスを実装するにはどうすればいいですか?
これらの変数をリンクリストに1要素として追加するにはどうすればよいですか?リンクされたリスト内の要素を検索する必要があるかのように、その学生のすべての情報を表示できます。
さらに詳しい説明が必要な場合は、いくつかのコードをコピーしてください。
はjava.util.Listの例に従ってください:ちょうどあなた自身の参照と実装クラスに置き換え
List<Student> roster = new ArrayList<Student>();
:与えられた学生のインスタンスを検索するためのよう
YourLinkedList roster = new YourLinkedList();
Student s = new Student();
roster.add(s);
を、私が書きたいですComatorを使用し、リンクされたリストのフィルタリングされたバージョンを返すことができるイテレータ。
Student
とMyLinkedList
クラスがあり、今ではそれらを使いたいと思っています。リンクされたリストが整数アイテムをサポートしているだけかもしれないからです。
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();
}
これは単なるサンプルである、あなたはコードを向上させることができますが、メインのアイデアを得ます。
基本的に各ノードにはその情報が必要です。たとえば、ノードには{nextNode、id、name、gpa、...}があります。または、必要ならば{nextNode、element}学生かもしれない。 – fbernardo