1. java里的stack作用是什麼

stack是java里的一個集合類,用於模擬一個堆棧,存放的信息是後進的元素先出

2. java中Stack的問題

閑著實在無聊......

寫了個簡單的雙鏈表實現Stack。未引用任何包。

public class Main {
public static void main(String[] args) {
Stack s = new Stack();
s.put("abc");//壓棧
s.put("def");//壓棧
s.put("ghi");
System.out.println(s.pop());//出棧
System.out.println(s.isEmpty());//判斷棧是否為空
System.out.println(s.pop());
System.out.println(s.isEmpty());
System.out.println(s.pop());
System.out.println(s.isEmpty());
}
}

class Stack {

private Node root = new Node();
private Node top = root;

public Object pop() {
if(top != null) {
Object value = top.getValue();
top = top.getPrevious();
return value;
} else {
return null;
}
}

public void put(Object value) {
Node n = new Node(top, value);
top.setNext(n);
top = n;
}

public boolean isEmpty() {
return top.getPrevious() == null;
}

}

class Node {
private Node next;
private Object value;
private Node previous;

public Node() {

}

public Node(Node previous, Object value) {
this.previous = previous;
this.value = value;
}

public Node getNext() {
return next;
}

public void setNext(Node next) {
this.next = next;
}

public Object getValue() {
return value;
}

public void setValue(Object value) {
this.value = value;
}

public Node getPrevious() {
return previous;
}

public void setPrevious(Node previous) {
this.previous = previous;
}

}

3. java中stack什麼意思

stack 就是堆棧啊,它應該算是一個容器,用來存儲東西的,他具有先進後出、後進先出的原理!

4. java里Stack類怎麼用啊

如下示例代碼

//
Stackstack=newStack();
Strings1="element1";
Strings2="element2";
stack.push(s1);
stack.push(s2);

現在棧中有兩個元素,棧頂應該是element 2,我們可以通過peek方法看棧頂的元素:

System.out.println(stack.peek());

輸出:

element 2

要看element 1的位置需要使用search方法:

//Findpositionofacertainelement
intpos=stack.search("element1");
System.out.println(pos);

上面代碼將輸出:

2

要移除棧頂的元素應該用pop()方法:

System.out.println(stack.pop());
System.out.println(stack.pop());

輸出:

element 2
element 1

在上一步中棧中的兩個元素都被pop了,現在我們看下empty()方法是否返回true

System.out.println(stack.empty());

輸出:

true

5. stack在java的哪個類中

java.util.Stack 在 jdk java.util 包里來面, 也是 java 集合框架的源重要組成部分





Stack是一個後進先出(last in first out,LIFO)的堆棧,在Vector類的基礎上擴展5個方法而來


  1. Epush(Eitem) 把項壓入堆棧頂部。

  2. Epop() 移除堆棧頂部的對象,並作為此函數的值返回該對象。

  3. Epeek() 查看堆棧頂部的對象,但不從堆棧中移除它。

  4. booleanempty() 測試堆棧是否為空。

  5. intsearch(Objecto) 返回對象在堆棧中的位置,以1為基數。

6. java的棧stack 怎麼查看所有的元素

java.util.Stack 類的構造方法創建對象
這個類裡面有這個方法
public peek() 查看棧頂對象而不移除它。。

點贊我 喲

7. java中stack的應用

stack是一個先進後的結構,
jdk1.5開始可以用泛型來定義stack吧
表達式求值算是一個基本的應用了

8. java 中Stack的使用

使用時,要先創建一個實例,如Stack st=new Stack();st.empty()方法是測試堆棧是否為空st.peek()查看棧頂對象而不專移屬除它st.pop()移除棧頂對象並作為此函數的值返回該對象st.push(E item) 把項壓入棧頂st.search(Object o) 返回對象在棧中的位置,以 1 為基數

9. 關於JAVA中的Stack.pop()

1、
Object是java裡面所有來類的超類,而自Object中有一個方法叫toString(),所以java中所有類都會有這個方法。
x=x+s.pop();
這里s.pop()是一個Object類型的對象,當其與String相「+」時,系統會自動調用Object的toString()方法將其轉成String表示。
例如,假如你重載toString方法:
class MyObject{
public String toString(){//重載方法
return "This is class MyObject.";
}
}
那麼
MyObject obj = new MyObject();
System.out.println(obj);
System.out.println(obj.toString());這兩句實質上是一樣的。

2、另外,根據jdk1.6泛型的標准,你所使用的Stack類型是有問題的,應該為:
Stack<String> stack = new Stack<String>();
這樣,你push入去的和pop出來的都是String類型而不會是其他類型了。
^_^