【发布时间】:2018-09-22 23:40:57
【问题描述】:
我在理解如何将对象放置在链接中时遇到了一些麻烦。 在这种情况下,如果特定索引处已经有一个对象,它将不会替换它(即用于另一种方法)。我想我无法理解如何访问特定索引、从该索引中检索数据,然后将数据放在那里并连接节点,或者告诉用户那里已经有一个对象。
这是我的代码:
public class CourseList {
private Coursenode head;
int currentSize;
public void insertAtIndex(Course c, int index) {
Coursenode insert =new Coursenode(c,head);
Coursenode temp = new Coursenode();
if (index > currentSize - 1 || index < 0) {
throw (new IndexOutOfBoundsException());
}
for(int x = 0; x < index; x++) {
if (insert.getNext()!= null) {
temp = insert;
insert.setNext(insert);
insert.setData(temp.getData());
}
if (insert.getNext() == null && x == index) {
insert.setNext(insert.getNext());
}
if (insert.getNext() != null && x == index) {
System.out.println("There is already a Course at that Index");
}
}
}
}
这是内部类 Coursenode:
public class Coursenode {
private Course data;
private Coursenode next;
public Coursenode() {
this.data = null;
this.next = null;
}
public Coursenode(Course course, Coursenode next) {
this.data=course;
this.next= next;
}
public Coursenode(Coursenode x) {
this.data = x.getData();
this.next = x.getNext();
}
public Course getData() {
return data;
}
public void setData(Course data) {
this.data = data;
}
public Coursenode getNext() {
return next;
}
public void setNext(Coursenode next) {
this.next = next;
}
//Clone method
public void clone(Coursenode new_cn){
new_cn = new Coursenode (this.getData(),this.getNext());
}
}
任何想法都将不胜感激,我怀疑我迷失在节点之间的头部引用中,但我无法完全弄清楚如何解决问题。
【问题讨论】:
标签: java methods linked-list inner-classes singly-linked-list