代码改变世界

随笔档案-2013年05月

为什么质疑Java中的Stack

2013-05-16 18:36 by 飘扬的红领巾, 4600 阅读, 收藏, 编辑
摘要: 问题由来 曾经遇到过一条面试题,“Java中的Stack是通过Vector来实现的,这种设计被认为是不良的设计,说说你的看法?”解析Java中的Stack 众所周知Stack(栈)是一种先进后出的数据结构。当中有两个重要的方法:push(进栈)和pop(出栈)。几乎所有语言在实现栈时,都会实现这两个方法,进栈和出栈。而栈这种数据结构在多数时候用来插入和删除元素(进栈则是在顶部插入元素,出栈则是从顶部删除元素),较少情况会用来查找元素。所以从实现方式上,大多是以链表方式实现而非数值方式实现(在插入删除方法上,链表效率优于数组效率)。反观Java中的Stack,查看源代码: 1: publi... 阅读全文
点击右上角即可分享
微信分享提示