高手解释一下Java.util.Stack的利弊,是否有必要像《Think in Java》中解释的需要自己通过LinkedList实现。 如题。效率、线程安全、实现机制等。Java.util.Stack继承自Vector。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个好像TIJ里解释得比较清楚了吧,该用组合的,被滥用成继承,Stack只允许从栈顶pop出来,extends Vector之后,可以访问任意元素了(通过调用父类Vector的方法),这个显然不符合stack的数据结构定义 实际需求不同。如果想把某个链表中的数据全部入栈,用LinkedStack效率奇高,两个链表的链接简直是太方便了。LinkedStack其它方面的好处还看不出来。 原来是这样的.非常有道理.不过有一次,我用栈来存放遍历一个图时的路径,但同时,我又要根据栈中已经走过的路来判断现在走的路是不是重复的,所以我必须能访问栈中的内容。那时,我以为java中的Stack类是不容许访问中间的元素的,所以我就自己定义了一个栈。呵呵看来,能访问栈中元素的栈还是有一定的用处的。 初学java,float类型问题,请教各位大虾 System.out.println() 几个小问题,关于类型转化的。 泛型DAO时遇到的问题 [求助]这是为什么?为什么? 关于JTable表格增加一行后使新增加的行显示在当前页上 关于Exception in thread "main" java.lang.NoSuchMethodError: main 85年,29岁,学习java开发,找开发工作 DocumentBuilderFactory解释XML是否有长度限制? 请上海的朋友干私活 (long)o)<<24)什么意思 在一个论坛发帖子,怎么通过程序判断帖子有没有被删除?
这个好像TIJ里解释得比较清楚了吧,
该用组合的,被滥用成继承,Stack只允许从栈顶pop出来,
extends Vector之后,可以访问任意元素了(通过调用父类Vector的方法),这个显然不符合stack的数据结构定义
原来是这样的.非常有道理.不过有一次,我用栈来存放遍历一个图时的路径,但同时,我又要根据栈中已经走过的路来判断现在走的路是不是重复的,所以我必须能访问栈中的内容。那时,我以为java中的Stack类是不容许访问中间的元素的,所以我就自己定义了一个栈。呵呵看来,能访问栈中元素的栈还是有一定的用处的。