Как проверить на уникальность элемент в стеке
Как можно организовать метод, чтобы он проверял добавляемый элемент на уникальность в созданном стеке, стек сделан на основе массива.
public class StackMas {
Person[] stack;
int top;
int sizeStack;
public StackMas(int sizeStack) {
this.sizeStack = sizeStack;
stack = new Person[sizeStack];
top = -1;
}
public boolean isUniqPerson(Person addPerson) {
for (int i = 0; i < sizeStack; i++) {
if(addPerson.equals(stack[i])){
throw new IllegalArgumentException("person is already add in your stack!!!");
}
}
return true;
}
void push(Person person){
if (person == null) {
throw new IllegalArgumentException("person equal null!");
}
if (stack.length <= sizeStack){
isUniqPerson(person);
stack[++top] = person;
}
}
Person peek(){
if (top == -1)
throw new EmptyStackException();
return stack[top];
}
Person pop(){
return stack[top--];
}
boolean isEmpty(){
return (top==-1);
}
}