繁体   English   中英

java.util.LinkedList中的addFirst()

[英]addFirst() in java.util.LinkedList

这是为了功课。

我正在使用链接列表进行堆栈。 我选择使用Java的java.util.LinkedList包中的链接列表。 当我在Main类中调用addFirst()方法时,该程序将无法完成。 它的作用就像一个无限循环,但据我所知没有涉及任何循环。 这是代码:

package assignment3;

import java.util.LinkedList;

/**
 *
 * @author Eric
 */
public class LinkedListStack<T> {

    LinkedList linkedList = new LinkedList();


    public boolean isEmpty() {
     if (linkedList.isEmpty()) {
         return true;
     } else {
         return false;
     }
    }


    public int size() {
        int size = linkedList.size();

        System.out.println("The size of the stack is " + size);

        return size;
    }

// This is the problem method. 
    public void push(T element) {

        linkedList.addFirst(element);
    }


    public void pop() {
        while(!linkedList.isEmpty()){
            linkedList.removeFirst();
    }
    }


    public void peek() {
       while(!linkedList.isEmpty()){
            linkedList.peek();
        }

       System.out.println("The first element in the stack is " + linkedList.peek());
    }

}

这是Main类,它调用push()方法。

package assignment3;

/**
 *
 * @author Eric
 */
public class Main {
    public static void main(String args[]) {
        LinkedListStack linkedListStack = new LinkedListStack();

        linkedListStack.push(1); // This never finishes. 
        linkedListStack.peek();
        linkedListStack.size();
}

}

测试LinkedListStack.java非常困难,因为我无法将任何内容压入堆栈。 我不知道怎么了

   while(!linkedList.isEmpty()){
        linkedList.peek();
    }

peek()永远不会将链接列表从非空更改为空,因为它不会更改列表。

但据我所知没有涉及循环

你认为while是什么?

暂无
暂无

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

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