Java 双链接列表getData问题
我的双链接列表getData方法有问题。getData方法在我的迭代器中,但它的行为就像该方法一样不存在Java 双链接列表getData问题,java,iterator,doubly-linked-list,Java,Iterator,Doubly Linked List,我的双链接列表getData方法有问题。getData方法在我的迭代器中,但它的行为就像该方法一样不存在 if (USE_LINKED_LIST) { for (int i = 0; i < this.linked_list.size(); i++) { Movable current = this.linked_list.getData(); current.paint(graphics);
if (USE_LINKED_LIST)
{
for (int i = 0; i < this.linked_list.size(); i++)
{
Movable current = this.linked_list.getData();
current.paint(graphics);
}
}
else
{
for (int i = 0; i < this.array.size(); i++)
{
Movable current = this.array.get(i);
current.paint(graphics);
}
}
然而,这是迭代器中的getData方法。在下一个代码段中,我遇到了相同的getData()问题
if (USE_LINKED_LIST)
{
for(int i =0; i < this.linked_list.size(); i++ )
{
Movable current = this.linked_list.getData();
current.move(frame_rate_duration);
if(current.dead())
{
this.linked_list.remove(current);
i--;
}
}
}
else
{
for (int i = 0; i < this.array.size(); i++)
{
Movable current = this.array.get(i);
current.move(frame_rate_duration); // move for 1/100 of a second simulated time
if (current.dead())
{
this.array.remove(i);
i--; // go back one spot so we don't skip an item
}
}
}
if(使用链接列表)
{
对于(int i=0;i
我只是想知道我是否需要更改for循环??或者如果我需要更改getData()方法 这个链表声明为什么?很难从您的描述中分辨出来,但是我想知道,您的链表类是否公开了
getData
方法,继承了您的接口,而该接口没有该方法,并且您正在通过该接口引用链表
如果是这种情况,那么您需要将您的链接列表转换为适当的类型,或者我认为最好是将其直接声明为您的类型/子类
当然,这都是基于您的注释“它的行为就像没有这样的方法一样”,这意味着您收到一个编译器错误,表明在您的链表类中没有这样的方法
其他可能性:
- 您的类与另一个(可能是默认)类共享一个名称,并且导入了错误的类
- IDE没有正确地刷新/构建所有类(因此正在使用没有
方法的旧版本)getData
Iterator it=this.linked\u list.Iterator()
,然后是it.hasNext()
,it.next()
等常见调用。
if (USE_LINKED_LIST)
{
for(int i =0; i < this.linked_list.size(); i++ )
{
Movable current = this.linked_list.getData();
current.move(frame_rate_duration);
if(current.dead())
{
this.linked_list.remove(current);
i--;
}
}
}
else
{
for (int i = 0; i < this.array.size(); i++)
{
Movable current = this.array.get(i);
current.move(frame_rate_duration); // move for 1/100 of a second simulated time
if (current.dead())
{
this.array.remove(i);
i--; // go back one spot so we don't skip an item
}
}
}