I think the issue is your implementation. The SlotPos does not override .equals(Object obj) and a new SlotPos object is created when you request the slotPos of a slot. Try something like this.
List<SlotPos> slots;
SlotPos compare;
if(slots.stream().anyMatch(sp -> {
int x = sp.getX();
int y = sp.getY();
return (x == compare.getX() && y == compare.getY());
})){
//Slot pos found
}