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类型而不会是其他类型了。
^_^