今天去京东面试了,遇到一道面试题,大意如下:Stack类是通过Vector实现的,有部分开发者认为该类的设计存在问题,你对这个问题怎么看?
这道题我空着没做,我从来就没听说过这种说法,我不晓得怎么回答。反正我没觉得这个类设计有什么问题,有问题也早改了吧。也许是我孤陋寡闻,水平差。有高手来围观一下吧,看看你们有什么高见。
这道题我空着没做,我从来就没听说过这种说法,我不晓得怎么回答。反正我没觉得这个类设计有什么问题,有问题也早改了吧。也许是我孤陋寡闻,水平差。有高手来围观一下吧,看看你们有什么高见。
它确实不应该提供这么多vector的方法
只看对栈顶进行push pop peek就行了
从实际上来讲,复用vecotor的现成方法来实现
push pop peek
有现成的,为啥不用呢
所以很少有人使用java提供的Stack类
如:add(int index,E element)等(具体见Vector的API说明)。这个破坏了stack约定的规则(只能从栈顶进,栈顶出)。所以SUN公司自己也给出的解释就是不要轻易用这个类。