老紫竹JAVA提高教程(10)-认识List列表之Stack
来源:互联网 发布:ff14人男捏脸数据 编辑:程序博客网 时间:2024/05/01 09:16
不多说,我们直接看源代码JAVA世纪网,http://www.java2000.net
- package collection.lession10;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Stack;
- /**
- * 老紫竹JAVA提高教程(10)-认识List列表之Stack<br>
- * 实现了LIFO的对象堆栈,<br>
- * 类本身继承自Vector,扩展了一些方法<br>
- * <br>
- * 推荐使用 JDK 6 开始提供的 Deque 接口实现堆栈操作 <br>
- * <br>
- * 相关API请查看 api.java2000.net/Stack
- *
- * @author 老紫竹 JAVA世纪网(java2000.net)
- *
- */
- public class Lession10 {
- public static void main(String[] args) {
- // 由于Stack 继承自Vector,所以Vector的各种方法这里就不介绍了
- // 请自行参考Vector对应的教程
- // 创建一个空堆栈
- Stack stack = new Stack();
- showList(stack);
- // 检查堆栈是否为空
- System.out.println("empty=" + stack.empty());
- // 我们把数据压入堆栈
- stack.push(123);
- stack.push("xyz");
- showList(stack);
- // 检查堆栈是否为空
- System.out.println("empty=" + stack.empty());
- // 再次压入数据
- stack.push(456);
- stack.push("xyz"); // 注意这个xyz与前面的一个数据重复
- showList(stack);
- // 我们查看一下堆栈的第一个数据
- // 注意此peek操作并不移除数据,其仍在堆栈中
- System.out.println("first=" + stack.peek());
- // 下面我们搜索一下某个对象的位置
- System.out.println("123=" + stack.search(123));
- System.out.println("xyz=" + stack.search("xyz"));
- // 我们从堆栈中弹出输出
- while (!stack.empty()) {
- System.out.println("pop=" + stack.pop());
- }
- }
- /**
- * 显示List里面的数据。
- *
- * @param list
- */
- private static void showList(List list) {
- System.out.println(Arrays.toString(list.toArray()));
- }
- }
堆栈在一般的应用中并不常见,大多和算法有关的时候才会使用。它属于后进先出的LIFO的机制。push和pop是其标志性操作。
在汇编语言里面,对于堆栈的操作也是
PUSH AX
POP AX
对于List的介绍,我们就到此告一段落。
- 老紫竹JAVA提高教程(10)-认识List列表之Stack
- 老紫竹JAVA提高教程(6)-认识List列表
- 老紫竹的JAVA提高教程(6)-认识List列表
- 老紫竹JAVA提高教程(7)-认识List列表之ArrayList
- 老紫竹JAVA提高教程(8)-认识List列表之Vector
- 老紫竹JAVA提高教程(9)-认识List列表之LinkedList
- 老紫竹JAVA提高教程(12)-认识Map之HashMap
- 老紫竹JAVA提高教程(13)-认识Map之Hashtable
- 老紫竹JAVA提高教程(14)-认识Map之LinkedHashMap
- 老紫竹JAVA提高教程(1)-认识Set集合
- 老紫竹JAVA提高教程(11)-认识Map
- 老紫竹JAVA提高教程(2)-认识Set集合之HashSet
- 老紫竹JAVA提高教程(3)-认识Set集合之LinkedHashSet
- 老紫竹JAVA提高教程(4)-认识Set集合之TreeSet
- 老紫竹JAVA提高教程(5)-认识Set集合之EnumSet
- 老紫竹JAVA提高教程的说明
- 老紫竹JAVA提高教程-System.arraycopy方法的使用
- 老紫竹JAVA提高教程-System.arraycopy方法的使用
- 全局对象何时析构
- 乱
- DBA方向
- “失去的十年”的教训
- oracle 如何批处理清空多个表,保留表结构。
- 老紫竹JAVA提高教程(10)-认识List列表之Stack
- oracle 存储过程,导出sql到文本,动态sql,dbms_sql使用
- Visual FoxPRO 更新两表的语句
- OEM界面里点数据库里面TNS描述符是空白
- SQL Server 2005 游标跑的很慢!
- 郎咸平:中国的八大危机之详解
- 靠什么成为高通胀的“克星”
- vc中error LNK2001:unresolved external symbol _WinMain@16的解决方法 [收藏]
- 荣获“微软最有影响力开发者(GDI)”称号