面试题:实现一个栈操作,将1-12月的英文单词压入栈中,然后再将其取出,使用Java代码实现。
答案:months 数组的每一行都通过push()继承进入堆栈,稍后用pop()从堆栈的顶部将其取出。要声明的一点是,Vector操作也可针对Stack对象进行,这可能是由继承的特质决定的——Stack‘属于’一种Vector。因此,能对Vector进行的操作也可针对Stack进行。
知识解析:Stack有时也可以称为“后进先出”集合。换言之,在堆栈里最后“压入”的东西将是以后第一个“弹出”的。和其他所有的Java集合一样,压入和弹出的都是“对象”,所以必须对自己弹出的东西进行“造型”。
一种很少见的做法是拒绝使用Vector作为一个Stack的基本构成元素,而是从Vector中“继承”一个Stack。这样,它就拥有了一个Vector的所有特征及行为,另外加上一些额外的Stack行为,很难判断出设计者到底是明确地想这样做还是属于一种固有的设计。
更多,Java视频,Java教程尽在极悦Java培训,关注极悦官方微信,获得一手Java面试题。