这一章节我们来讨论一下栈(Stack)。
1.特性
先进后出,当一个元素压进栈里面,他就会处于栈的底部,然后,另一个再压进来,盖在原来的元素上面,原来的元素想出去,只有等上面的元素先顶出栈才有机会。
2.方法演示
package com.ray.ch09;
import java.util.Arrays;
import java.util.Stack;
public class Test {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<Integer>();
for (int i = 0; i < 10; i++) {
stack.add(i);// 其实这里使用add方法不大切当
}
stack.push(12);//更好的是使用push,压栈
System.out.println(Arrays.toString(stack.toArray()));
System.out.println(stack.pop());
System.out.println(stack.peek());
System.out.println(Arrays.toString(stack.toArray()));
}
}
输出:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 12]
12
9
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
注意:Stack是继承Vector,因此他具备Vector所有的方法,但是对于栈来说,add、remove等方法充满了迷惑性,最好还是使用push、pop、peek这些方法来操作。
总结:这一章节主要讲述栈的特性与注意点。
这一章节就到这里,谢谢。
-----------------------------------
目录
分享到:
相关推荐
协议栈-Z-Stack协议栈基础和数据传输实验.doc
用java实现的栈Stack类,不继承任何集合类,用对象数组实现
imsdroid 包含文档和android-ngn-stack,和库文件
Stack-Stack-Stack
npm install --save react-native-card-stack-swiper 预习 import CardStack , { Card } from 'react-native-card-stack-swiper' ; < CardStack xss=removed xss=removed xss=removed> { this . swiper = swiper ...
基于C语言的数据结构-栈stack
TI+Z stack协议栈开发环境和工作流程
介绍数据结构栈(Stack)的概念、特点、优缺点、适用场景和Java示例代码
实验7—TI-Z-Stack2007协议栈入门实验.doc
Hands-On Full Stack Development with Go - Mina Andrawos(2019),Go全栈开发,epub格式,欢迎下载
基于python的数据结构代码实现-栈Stack
通过jdbc查询oracle数据库,返回树形集合列表,通过压出栈的方式将将集合中的数据存放到一个自关联的对象中,如菜单树对象。
Kosta-java-full-stack-02-15
实验二 栈 一、实验目的 1、掌握栈的结构特性及其入栈,出栈操作; 2、对栈相应算法的时间复杂度进行分析; 3、理解栈数据结构的特点(优缺点); 4、掌握栈的概念。 二、实验环境 windowsXP microsoft visual ...
linux协议栈源码,带注释版本,是学习linux tcp/ip协议栈的最佳伴侣。 linux内核版本2.6
Kosta-java-full-stack-02-15
Linux-storage-stack-diagram_v3.17.pdf Linux-storage-stack-diagram_v3.17.pdf
Bring-the-cloud-to-your-datacenter-Microsoft-Azure-Stack,Bring-the-cloud-to-your-datacenter-Microsoft-Azure-Stack
linux内核网络协议栈源码阅读分析注释--带详尽中文分析注释以及相关流程分析调用注释,对理解分析内核协议栈源码很有帮助
Android的NGN堆栈是一个NGN(下一代网络)堆栈为Android2.X(或更高版本) 设备