Java中的堆栈API——Stack

堆栈(stack)是线性表的一种,只能在该线性表的表尾进行插入、获取或删除的操作。该线性表具有LIFO(后进先出)的特点,那么Java中如何实现这一功能呢,呵呵呵,Java已经为我们提供了API——Stack,Stack类继承Vector类。下面通过一个例子来认识一下该API:

import java.util.Stack;

public class TestStack {

	public static void main(String[] args) {
		Stack<String> stack = new Stack<String>();
		stack.push("a");//将数据压入堆栈顶部,其作用于下面addElement一样
		stack.addElement("b");
		stack.push("c");
		stack.push("d");
		stack.push("e");
		if(!stack.empty()){//判断堆栈是否为空
			System.out.println(stack.peek());//输出e。获取堆栈顶部的对象(Vector 对象的最后一项),但不从堆栈中移除该对象,如果堆栈为空,则抛出EmptyStackException异常
			System.out.println(stack.pop()); //输出e。获取堆栈顶部的对象(Vector 对象的最后一项),并从堆栈顶部移除该对象,如果堆栈为空,则抛出EmptyStackException异常
			System.out.println(stack.pop()); //输出d。
			System.out.println(stack.search("c"));//获取指定对象在堆栈中的位置,以 1 为基数,如果没有则返回-1
		}
	}
}
时间: 2024-12-12 12:32:13

Java中的堆栈API——Stack的相关文章

【Socket编程】Java中网络相关API的应用

Java中网络相关API的应用 一.InetAddress类 InetAddress类用于标识网络上的硬件资源,表示互联网协议(IP)地址. InetAddress类没有构造方法,所以不能直接new出一个对象: InetAddress类可以通过InetAddress类的静态方法获得InetAddress的对象: 1 InetAddress.getLocalHost();//获取本地对象 2 InetAddress.getByName("");//获取指定名称对象 主要方法使用: 1 /

Java中常用的API

Java中常用的API 1.Random 继承体系:java.util.Random:生成伪随机数流 常用方法:public int nextInt(int n) :返回一个伪随机数,范围在  0 (包括)和 指定值  n (不包括)之间的int 值 备注:创建一个 Random 对象之后,每次调用 其nextXxx() 方法,都会生成一个随机数. 1 import java.util.InputMismatchException; 2 import java.util.Random; 3 im

C# 编程中的堆栈(Stack)和队列(Queue)

一.什么是堆?(Heap)      堆是无序的,是一片不连续的内存域,由用户自己来控制和释放,如果用户自己不释放的话,当内存达到一定的特定值时,通过垃圾回收器(GC)来回收.      是程序运行期间动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小. 二.什么是栈?(Stack)      栈是有顺序的,是一片连续的内存域,保持着先进后出的原则,由系统自动分配和维护.      是编译期间就分配好的内存空间,因此代码中必须就栈的大小有明确的定义.      表尾允许进行插入

JAVA中常用的API -----(一)

Java API就是JDK中提供给我们使用的类,这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可. 一.Object类是Java语言中的根类,即所有类的父类. 1. equals方法,用于对比两个对象是否相同.它其实比较的是两个对象的内存地址. equals方法内部使用的就是==运算符. package com.oracle.demo01; import com.oracle.demo01.person.Person; public class p

java中的堆栈

数据存放在哪里? 栈中存放的数据:基本类型数据.对象引用的句柄(指向对象的地址) 堆中存放的数据:创建的对象 静态方法区存放的数据:字面量 例如: String str = new String( "hello" ); 上面的语句中变量str放在栈上,用new创建出来的字符串对象放在堆上,而"hello"这个字面量放在静态区. 数据类型的分类 基本类型 基本类型是比对象更小的单位,不是new出来的,有byte .chart .short .int .long .fl

Java中的队列API——Queue

队列具有FIFO(先进先出)的功能,那么如何实现这一功能呢,呵呵呵,Java已经为我们提供了API--Queue,下面通过一个例子来认识一下该API: import java.util.Queue; import java.util.LinkedList; public class TestQueue { public static void main(String[] args) { Queue<String> queue = new LinkedList<String>();

二 java 中使用redis API编辑基本数据类型

package com.ssm.chapter18.main; import java.io.UnsupportedEncodingException;import java.util.ArrayList;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import

Java中网络相关API

InetAddress:用于标识网络上的硬件资源,即表示IP地址. /* * InetAddress类 */ public class Test01 { public static void main(String[] args) throws UnknownHostException { // 获取本机的InetAddress实例 InetAddress address = InetAddress.getLocalHost(); System.out.println("计算名:" +

PHP领域类型Java中ibatis的API

最近公司技术调整,要把java用php换掉,其中java主要的工作就是查询数据库,并返回json,ORM用的是ibatis,主要用到了Object映射和动态SQL,组员们用的都挺6,转到PHP后,发现PHP里并没有类似ibatis的ORM框架,移植工作量略大,遂决定自己写一个简化版的php-ibatis,主要实现了动态SQL,事务功能,由于PHP的特殊性(OOP慢),Object映射没有实现,返回值都是数组,然后稍微处理一下,用json_encode转成JSON扔给前台就行了.经过几轮的迭代,感