繁体   English   中英

用Java为自己的LinkedList类编写自己的peek()方法

[英]Writing my own peek() method for my own LinkedList class in Java

因此,有人要求我为Java中的链表编写一个peek()方法。 唯一的事情是我要“窥视”的对象是存在于我的LinkedList类的私有类中的base类型的私有变量。 我想使用我的peek()方法返回对象并打印出来。 我知道这与访问私有变量有关,但是我不能完全使它与我拥有的东西一起工作。 这是我的代码片段:

class LinkedStack <Base>
{
    private class Run
    {
        private Base object;
        private Run next;
        private Run (Base object, Run next)
        {
            this.object = object;
            this.next = next; 
        }
    }
    ...
    public Base peek()
    {
        if(isEmpty())
        {
            throw new IllegalStateException("List is empty");
        }
        return object; //this throws an error
    }
    ...
    public void push(Base object)
    {
        top = new Run(object, top);
    }
}
class Driver
{
    public static void main(String []args)
    {
        LinkedStack<String> s = new LinkedStack<String>();
        s.push("A");

        System.out.println(s.peek());
    }
}

在此先感谢您的帮助! 我真的很感激。

您应该只返回top变量。 我看不到它已初始化,但我认为它是一个类变量,因为您没有在push方法中对其进行初始化。 然后,您可以执行以下操作:

public Base peek()
{
     if(isEmpty())
     {
         throw new IllegalStateException("List is empty");
     }
    return top.object; //this throws an error
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM