Java Stack push()vs add()

Kal*_*nam 24 java collections stack interface

我试图使用Stack,但我对术语有点困惑.

我发现Stack该类只有push(E e)Java doc.

并且具有add(E e)addAll(Collection<? extends E> c)作为Vector类的继承方法.

它们是否具有相同的功能,或者更好地用于push(...)Stack对象插入元素.

换句话说,如果我用add(...)而不是,我会遇到任何问题push(...)吗?

roo*_*ook 19

Kalyanaraman Santhanam:

编辑:如果我使用add(...)而不是push(...),我会遇到任何问题吗?

绝对不会,你不会遇到任何问题,因为它addList界面的一部分Stack,但你应该注意到代码的进一步可读性以及其他程序员的意图.push方法将给他们一个线索,他们正在使用该Stack对象,他们将明确知道期待什么.另请注意,push返回值不同add(前者具有"推送对象"类型,后者只是boolean响应)


小智 8

唯一的区别是返回类型

System.out.println(stack.push("1"));

Output : 1

System.out.println(stack.add("2"));

Output : true
Run Code Online (Sandbox Code Playgroud)

但Stack推荐使用Push方式