java/lang/Stack
Archie Cobbs
kaffe@rufus.w3.org
Sat, 22 Aug 1998 14:53:00 -0700 (PDT)
A quick look at java/lang/Stack.java reveals that it does indeed contain
a bug, in that search() returns the wrong value.
A fixed & cleaned up version is included below.
References:
http://java.sun.com/products/jdk/1.2/docs/api/java/util/Stack.html
http://java.sun.com/products/jdk/1.2/docs/api/java/util/Vector.html
-Archie
___________________________________________________________________________
Archie Cobbs * Whistle Communications, Inc. * http://www.whistle.com
package java.util;
/*
* Java core library component.
*
* Copyright (c) 1997, 1998
* Transvirtual Technologies, Inc. All rights reserved.
*
* See the file "license.terms" for information on usage and redistribution
* of this file.
*/
public class Stack
extends Vector
{
public Stack() {
}
public boolean empty() {
return isEmpty();
}
public Object peek() throws EmptyStackException {
try {
return elementAt(size() - 1);
} catch (ArrayIndexOutOfBoundsException _) {
throw new EmptyStackException();
}
}
public Object pop() throws EmptyStackException {
Object peeked = peek();
removeElementAt(size() - 1);
return peeked;
}
public Object push(Object item) {
addElement(item);
return item;
}
public int search(Object o) {
int index = lastIndexOf(o);
if (index == -1) {
return -1;
}
return size() - index;
}
}