java集合类——Stack栈类

今日走读代码时,遇到stack栈类,特查看java的API文档,总结如下:

Stack继承Vector类。
栈的特点是后进先出。
API中Stack自身的方法不多,基本跟栈的特点有关。

现附上例子,后续继续总结

/**
 * @作者 whs
 * @创建日期 2015年2月4日
 * @版本 V 1.0
 */
package thread.pool;

import java.util.Stack;

public class StackExam {

	public static void main(String[] args) {
		Stack<String> stack = new Stack<String>();
		System.out.println("now the satck is "+isEmpty(stack));
		stack.push("1");
		stack.push("2");
		stack.push("3");
		stack.push("4");
		stack.push("5");
		stack.push("6");
		System.out.println("now the stack is "+isEmpty(stack));
		System.out.println(stack.peek());//查看堆栈顶部的对象,并返回该对象,但不从堆栈中移除它。
		System.out.println(stack.pop());
		System.out.println(stack.pop());
		System.out.println(stack.search("3"));//,此方法返回最近的目标对象距堆栈顶部出现位置到堆栈顶部的距离;
	}

	public static String isEmpty(Stack<String> stack){
		return stack.empty() ? "empty":"not empty";
	}

}

输出为:

now the satck is empty
now the stack is not empty
6
6
5
2
时间: 2024-10-28 18:56:23

java集合类——Stack栈类的相关文章

基于数组实现Java 自定义Stack栈类及应用

栈是存放对象的一种特殊容器,在插入与删除对象时,这种结构遵循后进先出( Last-in-first-out,LIFO)的原则.java本身是有自带Stack类包,为了达到学习目的已经更好深入了解stack栈,自己动手自建java stack类是个很好的学习开始: 自建Java Stack 类 Stack 类: 1 package com.stack; 2 3 import java.util.ArrayList; 4 import java.util.Arrays; 5 6 /** 7 * St

Java 自定义Stack栈类及应用

栈是存放对象的一种特殊容器,在插入与删除对象时,这种结构遵循后进先出( Last-in-first-out,LIFO)的原则.java本身是有自带Stack类包,为了达到学习目的已经更好深入了解stack栈,自己动手自建java stack类是个很好的学习开始: 自建Java Stack 类 Stack 类: package com.stack; import java.util.ArrayList; import java.util.Arrays; /** * Stack Class * @a

Java集合类之栈Stack

package com.test; import java.util.*; public class Demo7_3 { public static void main(String[] args) { // TODO Auto-generated method stub Emp emp = new Emp("sa001", "xiaoming", 12.3f); Stack stack = new Stack(); stack.add(emp); for (int

java.util.Stack类中的peek()方法

java.util.stack类中常用的几个方法:isEmpty(),add(),remove(),contains()等各种方法都不难,但需要注意的是peek()这个方法. peek()查看栈顶的对象而不移除它. import java.util.Stack; public class MyStack1 { private Stack<Integer> stackData; private Stack<Integer> stackMin; public MyStack1(){ t

恶补java(十一)-------Stack类的使用

package com.gc.Stack; /** * java中stack的使用方法,堆栈是一种"后进先出"(LIFO)的数据结构,只能在一端进行插入(称为"压栈")或删除(称为"出栈")数据的操作. * Java中,使用java.util.Stack类的构造方法创建对象 * public class Stack extends vector * 构造方法:public Stack()创建一个空Stack * 1.public push(ite

Java Stack栈和Heap堆的区别

首先分清楚Stack,Heap的中文翻译:Stack—栈,Heap—堆. 在中文里,Stack可以翻译为“堆栈”,所以我直接查找了计算机术语里面堆和栈开头的词语: 堆存储: heapstorage 堆存储分配: heapstorage allocation 堆存储管理: heap storage management 栈编址: stack addressing 栈变换:stack transformation 栈存储器:stack memory 栈单元: stack cell 接着,总结在Jav

Java的Stack类实现List接口真的是个笑话吗

今天在网上闲逛时看到了这样一个言论,说“Java的Stack类实现List接口的设计是个笑话”. 当然作者这篇文章的重点不是这个,原本我也只是一笑置之,然而看评论里居然还有人附和,说“Java那种Stack的设计作为笑话,差不多可以算公案了”,我就有点不淡定了,为什么.什么时候“作为笑话”的并且“差不多可以算公案”了呢? 因此我决定写一篇文章来谈谈这个问题. 接口是什么 狭义地讲,接口就是一个类所定义的方法(方法名.参数.返回值).一个类提供了Foo方法,其他类就可以调用它.广义上讲,接口可以理

java Stack(栈)

"Stack" 通常时指"后进后出"(LIFO)的容器,有时栈也被称为叠加栈,因为最后"压入"栈的元素,第一个"弹出"栈,经常用来类比栈的事物时装有弹簧的储存器中的自助托盘,最后装入托盘的总是最先拿出. LinkedList具有能够直接实现栈的所有功能的方法,因此可以直接将LinkedList当栈使用,不过,有时一个正真的"Stack"更能把事情讲清楚 下面时java编程思想的栈,T是泛型,类名之后加<

java 中的内存分为四个部分:stack(栈),heap(堆),data segment

http://www.qdmm.com/BookReader/113167,54166719.aspx http://www.qdmm.com/BookReader/113167,54166867.aspx http://www.qdmm.com/BookReader/113167,54166868.aspx http://www.qdmm.com/BookReader/113167,54166869.aspx http://www.qdmm.com/BookReader/113167,5416