JAVA提高教程(10)-认识List列表之Stack

不多说,我们直接看源代码

1.package collection.lession10;2.3.import java.util.Arrays;4.import java.util.List;5.import java.util.Stack;6.7./**8. * 老紫竹JAVA提高教程(10)-认识List列表之Stack9. * 实现了LIFO的对象堆栈,10. * 类本身继承自VecTor,扩展了一些方法11. * 12. * 推荐使用 JDK 6 开始提供的 Deque 接口实现堆栈操作 13. * 14. * 相关API请查看 api.xxxxxx/Stack15. *16. * @17. *18. */19.public class Lession10 {20.21. public static void main(String[] args) {22. // 由于Stack 继承自VecTor,所以VecTor的各种方法这里就不介绍了23. // 请自行参考VecTor对应的教程24.25. // 创建一个空堆栈26. Stack stack = new Stack();27. showList(stack);28.29. // 检查堆栈是否为空30. System.out.println("empty=" + stack.empty());31.32. // 我们把数据压入堆栈33. stack.push(123);34. stack.push("xyz");35. showList(stack);36.37. // 检查堆栈是否为空38. System.out.println("empty=" + stack.empty());39.40. // 再次压入数据41. stack.push(456);42. stack.push("xyz"); // 注意这个xyz与前面的一个数据重复43. showList(stack);44.45. // 我们查看一下堆栈的第一个数据46. // 注意此peek操作并不移除数据,其仍在堆栈中47. System.out.println("first=" + stack.peek());48.49. // 下面我们搜索一下某个对象的位置50. System.out.println("123=" + stack.search(123));51. System.out.println("xyz=" + stack.search("xyz"));52.53. // 我们从堆栈中弹出输出54. while (!stack.empty()) {55. System.out.println("pop=" + stack.pop());56. }57. }58.59. /**60. * 显示List里面的数据。61. *62. * @param list63. */64. private static void showList(List list) {65. System.out.println(Arrays.toString(list.toArray()));66. }67.}68.

堆栈在一般的应用中并不常见,大多和算法有关的时候才会使用。它属于后进先出的 LIFO的机制。push和pop是其标志性操作。

在汇编语言里面,对于堆栈的操作也是

PUSH AX

POP AX

对于List的介绍,我们就到此告一段落。

你让我尝到了每时每刻想你的疼苦,

JAVA提高教程(10)-认识List列表之Stack

相关文章:

你感兴趣的文章:

标签云: