【发布时间】:2016-09-29 01:11:05
【问题描述】:
我正在用 Java 中的 LinkedList 练习。我买了一本书,其中一个练习是使用单链表创建学生目录。该目录可以存放学生的全名和gpa。
我需要为 removeFirst、removeLast、insertFirst、insertLast、getStudent 等方法(通常内置在链表的迭代器中)实现和编写代码。我不知道在哪里创建这些自定义迭代器。目标是能够在我的 main 中创建一个 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(){
}
【问题讨论】:
-
我可能会开始创建一个
Node<T>,它可能有一个T(或Optional<T>)value和一个Node<T>(或Optional<Node<T>>)next。但这字面意思是“LinkedList”所需的最低要求。