java.util.Stack(栈)的简单使用
import java.util.Stack; import org.junit.Before;
import org.junit.Test; /**
* Stack(栈)继承了Vector类,底层实现是数组。
* 此处只介绍了Stack自己定义的方法,父类中的方法不再一一介绍。
*/
public class TestStack { // 定义一个栈
Stack<String> stack; @Before
public void before() {
// 实例化栈变量
stack = new Stack<String>(); // add方法向栈中添加元素,添加成功返回true
stack.add("1");
stack.add("2");
stack.add("3");
stack.add("4");
stack.add("5"); // push方法向栈中添加元素,返回结果是当前添加的元素
stack.push("a");
stack.push("b");
stack.push("c");
stack.push("d");
stack.push("e"); // push和add都是向栈中添加元素,底层实现也是一样的,都是先将Vector扩容,再添加 } // pop方法移除并返回栈顶元素,如果是空栈,会抛出异常:EmptyStackException
@Test
public void test1() {
String pop = stack.pop();
System.out.println(pop); // e
System.out.println(stack); // [1, 2, 3, 4, 5, a, b, c, d]
} // peek方法获取栈顶元素,但并不移除,如果是空栈,会抛出异常:EmptyStackException
@Test
public void test2() {
String peek = stack.peek();
System.out.println(peek); // e
System.out.println(stack); // [1, 2, 3, 4, 5, a, b, c, d, e]
} // empty方法检查栈是否是空栈
@Test
public void test3() {
boolean isEmpty = stack.empty();
System.out.println(isEmpty); // false
} // search方法查看某元素在栈中的位置,计数从1开始
@Test
public void test4() {
int index = stack.search("1");
System.out.println(index); //
} }
java.util.Stack(栈)的简单使用的更多相关文章
- 用 LinkedList 实现一个 java.util.Stack 栈
用 LinkedList 实现一个 java.util.Stack 栈 import java.util.LinkedList; public class Stack<E> { priva ...
- 为什么 java.util.Stack不被官方所推荐使用!
Java 为什么不推荐使用 Stack 呢? 因为 Stack 是 JDK 1.0 的产物.它继承自 Vector,Vector 都不被推荐使用了,你说 Stack 还会被推荐吗? 当初 JDK1.0 ...
- java.util.Stack类中的peek()方法
java.util.stack类中常用的几个方法:isEmpty(),add(),remove(),contains()等各种方法都不难,但需要注意的是peek()这个方法. peek()查看栈顶的对 ...
- java集合类——Stack栈类与Queue队列
Stack继承Vector类,它通过五个操作对类 Vector 进行了扩展. 栈是 后进先出的. 栈提供了通常的 push 和 pop 操作,以及取堆栈顶点的 peek 方法.测试堆栈是否为空的 em ...
- java.util.Stack
import java.util.Stack; public class Test { public static void main(String[] args) { Stack stack = n ...
- java.util.Stack类中 empty() 和 isEmpty() 方法的作用
最近在学习算法和数据结构,用到Java里的Stack类,但程序运行结果一直和我预料的不一样,网上也没查清楚,最后查了API,才搞明白. java.util.Stack继承类 java.util.Vec ...
- Java数据类型Stack栈、Queue队列、数组队列和循环队列的比较
判断括号是否匹配:调用java本身 import java.util.Stack; public class Solution { public boolean isValid(String s){ ...
- 如何给女朋友讲明白:Java 中 Stack(栈) 与 Heap(堆)
背景 Java 中 Stack(栈) 与 Heap(堆) 是面试中被经常问到的一个话题. 有没有对 Java 中 Stack(栈) 与 Heap(堆) 烂熟于心的童鞋,请举手!!!(怎么没人举手-) ...
- java.util.Stack类简介(栈)
Stack是一个后进先出(last in first out,LIFO)的堆栈,在Vector类的基础上扩展5个方法而来 Deque(双端队列)比起stack具有更好的完整性和一致性,应该被优先使用 ...
随机推荐
- python+requests接口自动化完整项目设计源码
前言 有很多小伙伴吵着要完整的项目源码,完整的项目属于公司内部的代码,这个是没法分享的,违反职业道德了,就算别人分享了,也只适用于本公司内部的业务. 所以用例的代码还是得自己去一个个写,我只能分享项目 ...
- AndroidStudio下加入百度地图的使用(四)——路线规划
上一章中我们已经完成了API常用的方法及常量属性的使用,这一章向大家介绍一下地图的重要功能-路线规划. (1) 定义API中的路线查询类: RoutePlanSearch mSearch = Rout ...
- [Canvas]炸弹人初成版
试玩请点此下载代码,并使用浏览器打开index.html. 用方向键操作小人,空格键放炸弹,把敌人消灭算赢,被炸弹炸中或是碰到敌人算输. 图例: 源码: <!DOCTYPE html> & ...
- RPC简述
在某种意义上,WebService.REST均是RPC的实现,那么RPC的发展过程如何呢?本文参考了wikipedia,对RPC做一下简要摘记. RPC(RemoteProcedureCall),是进 ...
- 详细解读Android中的搜索框(三)—— SearchView
本篇讲的是如何用searchView实现搜索框,其实原理和之前的没啥差别,也算是个复习吧. 一.Manifest.xml 这里我用一个activity进行信息的输入和展示,配置方式还是老样子,写一个输 ...
- python2中在sqlite3中插入中文
# -*- coding: utf-8 -*- import sqlite3 conn = sqlite3.connect('SWC_Perf_Info.db') cur = conn.cursor( ...
- mysql复制过程中的server-id的理解
一. server-id做什么用的,你知道吗? 1. mysql的同步的数据中是包含server-id的,用于标识该语句最初是从哪个server写入的,所以server-id一定要有的 2. ...
- CentOS SVN服务器管理多项目
一 需求 一般来说,公司有多个项目,在搭建好SVN服务器之后,就需要使用SVN来实现不在一个项目中的开发人员不能访问其它项目中的代码. 假设: 有3个项目:project1.project2.proj ...
- [Big Data - ZooKeeper] ZooKeeper: A Distributed Coordination Service for Distributed Applications
ZooKeeper ZooKeeper: A Distributed Coordination Service for Distributed Applications Design Goals Da ...
- C#读取CSV
public class CSVFileHelper { /// <summary> /// 将DataTable中数据写入到CSV文件中 /// </summary> /// ...