【问题标题】:Stack Linked implementation import堆栈链接实现导入
【发布时间】:2016-08-14 15:22:34
【问题描述】:

我的问题在于 Link,是这样说的:

"sun.awt.image.ImageWatched.Link 不带参数;"

我已经导入了 sun.awt.image.ImageWatched.Link; 代码有什么问题? 我该如何做对?

代码如下:

public class LStack<E> implements Stack<E> {
private Link<E> top=;
private int size;

public LStack(){
    top = null;
    size = 0;
}

public LStack(int size){
    top = null;
    size = 0;
}

@Override
public void clear(){
    top = null;
    size = 0;
}

@Override
public void push(E it){
    top = new Link<E>(it, top);
}

@Override
public E pop(){
    assert top != 0 : "Stack is empty";
    E it = top.element();
    top = top.next();
    size--;
    return it;
}

@Override
public E topValue(){
    assert top != 0 : "Stack is empty";
    return top.element();
}

@Override
public int length(){
    return size;
}
}

【问题讨论】:

    标签: java stack


    【解决方案1】:

    您引用Link&lt;E&gt; 好像Link 是通用的,但它不是。

    我认为真正的问题是:您为什么要为此使用sun.awt.image.ImageWatched.Link?它似乎是用于与您的目的不同的特定目的。

    我认为您应该定义自己的(通用)Link&lt;E&gt; 类。它所要做的就是持有E 类型的东西和next 引用。

    【讨论】:

    • 你能一步一步解释吗?
    • 如果您的意思是我可以为您编写代码:不,这不是 Stack Overflow 通常的工作方式。但如果我写的具体内容不够清楚,请随时提问。
    • 意思是“持有E类型的东西和下一个参考”?
    • 我的意思是Link&lt;E&gt; 类的工作是跟踪两件事:E 类型的对象,以及链表中接下来的内容。您已经获得的代码表明了Link&lt;E&gt; 的使用方式——看看top 在其中的使用方式。我不想详细说明,因为在我看来这是一项家庭作业,其中的大部分要点是让您通过查看来确定Link&lt;E&gt; 的外观在你得到的代码...
    猜你喜欢
    • 2013-03-17
    • 1970-01-01
    • 1970-01-01
    • 2011-07-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多