java中的栈 Staack

原创 2015年11月18日 23:30:30

这一章节我们来讨论一下栈(Stack)。

1.特性

先进后出,当一个元素压进栈里面,他就会处于栈的底部,然后,另一个再压进来,盖在原来的元素上面,原来的元素想出去,只有等上面的元素先顶出栈才有机会。

 

2.方法演示

  1. package com.ray.ch09;  
  2.   
  3. import java.util.Arrays;  
  4. import java.util.Stack;  
  5.   
  6. public class Test {  
  7.     public static void main(String[] args) {  
  8.         Stack<Integer> stack = new Stack<Integer>();  
  9.         for (int i = 0; i < 10; i++) {  
  10.             stack.add(i);// 其实这里使用add方法不大切当  
  11.         }  
  12.         stack.push(12);//更好的是使用push,压栈  
  13.         System.out.println(Arrays.toString(stack.toArray()));  
  14.         System.out.println(stack.pop());  
  15.         System.out.println(stack.peek());  
  16.         System.out.println(Arrays.toString(stack.toArray()));  
  17.     }  
  18. }  

 

输出:

[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这些方法来操作。

 

总结:这一章节主要讲述栈的特性与注意点。

版权声明:欢迎转载,但请注明出处

让你彻底明白JAVA中堆与栈的区别

原文地址:http://www.2cto.com/kf/201302/190704.html 简单的说: Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变...
  • jasonwang18
  • jasonwang18
  • 2017年04月24日 11:59
  • 920

java实现栈结构

栈的定义         栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表。       (1)通常称插入、删除的这一端为栈顶 (Top),另一端称为栈底 (Bottom)。 ...
  • caiwenfeng_for_23
  • caiwenfeng_for_23
  • 2013年01月12日 14:30
  • 24900

Java实现栈结构详细代码

一、什么是栈结构 栈结构就是一种线性结构。 分类: 1.顺序栈结构  (数组)      2.链式栈结构  (链表) 特点:后进先出 基本操作:        1.出栈(POP) 2...
  • whieenz
  • whieenz
  • 2016年04月05日 15:10
  • 1213

用JAVA代码实现出栈入栈并获取栈中最小值的程序

【前言】学习Java编程一段时间,对于一些涉及业务逻辑的案例没有太多的机会接触;闲的时候添加了很多群,里面有很多涉及到算法的问题,比较感兴趣(有的时候脑袋还是要练一练的,O(∩_∩)O哈哈~)。 言归...
  • z_programmer
  • z_programmer
  • 2016年12月03日 11:56
  • 3287

浅谈Java中的栈和堆

1. 前言  一般在刚开始接触“栈”和“堆”这两个概念的时候,很多人都会产生较多的疑问,什么是栈,什么是堆,栈和堆有什么区别?更糟糕的是,数据结构中也有栈和堆这两个概念。在这种情况下,不免会...
  • Fantasy_Lin_
  • Fantasy_Lin_
  • 2016年10月02日 10:28
  • 1461

java 队列和栈

栈和队列是两种特殊的线性表,它们的逻辑结构和线性表相同,只是其运算规则较线性表有更多的限制,故又称它们为运算受限的线性表。 LinkedList数据结构是一种双向的链式结构,每一个对象除了数据本...
  • e421083458
  • e421083458
  • 2013年10月23日 09:43
  • 1631

Java中栈的实现

Stack是java集合类中较为常见的一种数据类型,继承了Vector类,是一种先入后出的对象堆栈。它通过五个操作对类 Vector 进行了扩展 ,允许将向量视为堆栈。它提供了通常的 push 和 p...
  • u011475873
  • u011475873
  • 2015年06月05日 09:43
  • 937

java中栈和队列的实现和API用法

在java中要实现栈和队列,需要用到java集合的相关知识,特别是Stack、LinkedList等相关集合类型。 一、栈的实现 栈的实现,有两个方法:一个是用java本身的集合类型Stack类型;另...
  • ls5718
  • ls5718
  • 2016年06月17日 16:09
  • 2886

Java中堆与栈的关系

Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; ...
  • HWHuangeian
  • HWHuangeian
  • 2015年10月15日 16:28
  • 3159

让你彻底明白JAVA中堆与栈的区别

简单的说: Java把内存划分成两种:一种是栈内存,一种是堆内存。 在函数中定义的一些基本类型的变量和对象的引用变量都在函数的栈内存中分配。 当在一段代码块定义一个变量时,Java就在栈中为这个变量...
  • c_z_w
  • c_z_w
  • 2017年01月09日 12:08
  • 3113
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java中的栈 Staack
举报原因:
原因补充:

(最多只允许输入30个字)