Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
The moose likes Beginning Java and the fly likes Problem with stack class Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login


Win a copy of The Mikado Method this week in the Agile and other Processes forum!
JavaRanch » Java Forums » Java » Beginning Java
Reply Bookmark "Problem with stack class" Watch "Problem with stack class" New topic
Author

Problem with stack class

sovan chatt
Ranch Hand

Joined: Aug 09, 2010
Posts: 43
removeElementAt() method is available in vector class so,its also available to stack class ..but using this method any element can be eliminated..which cannot be a proper implementation of stack... or is it?
Matthew Brown
Bartender

Joined: Apr 06, 2010
Posts: 3793
    
    1

No, it's not ideal. Those are classes from the original version of Java, and if they were added now I suspect they'd be designed differently - I'd expect to see Stack as an interface, with some class (possibly one of the existing collections) implementing it. A bit like the way LinkedList implements the Queue interface nowadays.
Muhammad Khojaye
Ranch Hand

Joined: Apr 12, 2009
Posts: 341
Agreed. This is one example of incorrect inheritance. A stack is not a vector, so Stack should not extend Vector. Similarly, a property list is not a hash table, so Properties should not extend Hashtable. In both cases, composition would have been preferable. There is one item also listed in Effective Java related to this.


http://muhammadkhojaye.blogspot.com/
Campbell Ritchie
Sheriff

Joined: Oct 13, 2005
Posts: 32696
    
    4
You ought to use this instead of Stack.
 
I agree. Here's the link: http://zeroturnaround.com/jrebel - it saves me about five hours per week
 
subject: Problem with stack class
 
Similar Threads
Stack
itemAt Stacks
Thread.currentThread.hashcode() returns zero?
Variables
what is a stack trace