当前位置: 首页 > news >正文

北京网站建设方案开发公司网站开发2008

北京网站建设方案开发公司,网站开发2008,外贸网站外链怎么做,深圳燃气公司招聘信息转载自 java.util.Stack类简介 Stack是一个后进先出#xff08;last in first out#xff0c;LIFO#xff09;的堆栈#xff0c;在Vector类的基础上扩展5个方法而来 Deque#xff08;双端队列#xff09;比起Stack具有更好的完整性和一致性#xff0c;应该被优先使用…转载自  java.util.Stack类简介 Stack是一个后进先出last in first outLIFO的堆栈在Vector类的基础上扩展5个方法而来 Deque双端队列比起Stack具有更好的完整性和一致性应该被优先使用 E push(E item)             把项压入堆栈顶部。    E pop()             移除堆栈顶部的对象并作为此函数的值返回该对象。    E peek()             查看堆栈顶部的对象但不从堆栈中移除它。    boolean empty()             测试堆栈是否为空。     int search(Object o)             返回对象在堆栈中的位置以 1 为基数。 Stack本身通过扩展Vector而来而Vector本身是一个可增长的对象数组 a growable array of objects那么这个数组的哪里作为Stack的栈顶哪里作为Stack的栈底 答案只能从源代码中寻找jdk1.6 public class StackE extends VectorE { /** * Creates an empty Stack. */ public Stack() { } /** * Pushes an item onto the top of this stack. This has exactly * the same effect as: * blockquotepre * addElement(item)/pre/blockquote * * param item the item to be pushed onto this stack. * return the codeitem/code argument. * see java.util.Vector#addElement */ public E push(E item) { addElement(item); return item; } /** * Removes the object at the top of this stack and returns that * object as the value of this function. * * return The object at the top of this stack (the last item * of the ttVector/tt object). * exception EmptyStackException if this stack is empty. */ public synchronized E pop() { E obj; int len size(); obj peek(); removeElementAt(len - 1); return obj; } /** * Looks at the object at the top of this stack without removing it * from the stack. * * return the object at the top of this stack (the last item * of the ttVector/tt object). * exception EmptyStackException if this stack is empty. */ public synchronized E peek() { int len size(); if (len 0) throw new EmptyStackException(); return elementAt(len - 1); } /** * Tests if this stack is empty. * * return codetrue/code if and only if this stack contains * no items; codefalse/code otherwise. */ public boolean empty() { return size() 0; } /** * Returns the 1-based position where an object is on this stack. * If the object tto/tt occurs as an item in this stack, this * method returns the distance from the top of the stack of the * occurrence nearest the top of the stack; the topmost item on the * stack is considered to be at distance tt1/tt. The ttequals/tt * method is used to compare tto/tt to the * items in this stack. * * param o the desired object. * return the 1-based position from the top of the stack where * the object is located; the return value code-1/code * indicates that the object is not on the stack. */ public synchronized int search(Object o) { int i lastIndexOf(o); if (i 0) { return size() - i; } return -1; } /** use serialVersionUID from JDK 1.0.2 for interoperability */ private static final long serialVersionUID 1224463164541339165L; } 通过peek()方法注释The object at the top of this stack (the last item of the Vector object可以发现数组Vector的最后一位即为Stack的栈顶 pop、peek以及search方法本身进行了同步 push方法调用了父类的addElement方法 empty方法调用了父类的size方法 Vector类为线程安全类 综上Stack类为线程安全类(多个方法调用而产生的数据不一致问题属于原子性问题的范畴) public class Test { public static void main(String[] args) { StackString s new StackString(); System.out.println(------isEmpty); System.out.println(s.isEmpty()); System.out.println(------push); s.push(1); s.push(2); s.push(3); Test.it(s); System.out.println(------pop); String str s.pop(); System.out.println(str); Test.it(s); System.out.println(------peek); str s.peek(); System.out.println(str); Test.it(s); System.out.println(------search); int i s.search(2); System.out.println(i); i s.search(1); System.out.println(i); i s.search(none); System.out.println(i); } public static void it(StackString s){ System.out.print(iterator:); IteratorString it s.iterator(); while(it.hasNext()){ System.out.print(it.next();); } System.out.print(\n); } } 结果 ------isEmpty   true             ------push   iterator:1;2;3;     ------pop   3       --栈顶是数组最后一个   iterator:1;2;   ------peek   2       --pop取后删掉peek只取不删   iterator:1;2;   ------search       1       --以1为基数即栈顶为1   2       --和栈顶见的距离为2-11   -1      --不存在于栈中   Stack并不要求其中保存数据的唯一性当Stack中有多个相同的item时调用search方法只返回与查找对象equal并且离栈顶最近的item与栈顶间距离见源码中search方法说明
http://www.zqtcl.cn/news/930654/

相关文章:

  • 做网站找网站设计公司 长沙
  • 网站维护内容网站代码下载
  • 西安建设主管部门官方网站wordpress返回件
  • 建立免费空间网站南宁seo推广外包
  • 网站初期如何推广用秀米制作h5详细步骤
  • 做网站需要执照嘛开发 网站 团队
  • 怎么提交网站关键词包头人脸检测系统
  • 哪个网站开发是按月付费的婚纱摄影建设网站的目的
  • 站长之家app简单网站制作步骤
  • 网站开发与桌面应用开发wordpress if include
  • 网站怎么做预约小程序江苏省工程建设招标网站
  • python做网站有什么弊端专业做网带
  • 浙江建设工程考试网站wordpress等模版比较
  • seo网站论文高端疫苗
  • 山东省城乡住房和建设厅网站首页贵阳网站建设技术托管
  • 免费的网站申请做电影网站被告版权
  • 网站后台显示不全百姓网招聘信息最新招聘
  • 前端手机网站同企网站建设做网站
  • 重庆专业网站公司查看网站是否收录
  • 网站怎么做网上报名学多久可以做网站 知乎
  • 网站建设项目总结报告织梦模板建站
  • 关于网站建设的基础知识中石化十建公司官网
  • 江苏做网站怎么收费wordpress的wap插件
  • 企业营销网站建设公司哪家好网站建设团队名称
  • 法制网站建设问卷调查手机网站打开自动wap
  • 建设网站 如何给文件命名佛山网站推广市场
  • 网站客户问题解答网站建设网站规划书
  • 罗湖网站公司网络营销的种类有哪些
  • 怎么做微网站推广做一个自己的网站需要什么
  • 一个静态网站开发考虑什么最近一周新闻热点回顾