Я создал эти две структуры данных
private Vector<Hapsira> places;
private Hashtable<Klienti,ArrayList<Hapsira>> booking;
public void addPlace(Place h) throws RezervimiException{
if(h == null){
throw new RezervimiException("null");
}
for(int i=0;i<places.size();i++){
if(places.get(i).equals(h)){
throw new RezervimiException("exits");
}
}
places.add(h);
}
public boolean hasBooking(){
return places.size() > 0;
}
public Hapsira bookPlace(Client k) throws RezervimiException{
Place h = null;
if(hasBooking()){
h = places.remove(0);
}
return h;
}
В этом методе я хочу проверить, содержит ли моя хеш-таблица те же клиенты, если это правда, тогда вы добавляете место к значению массива, если это не так, вы добавляете список в хэш-карту.
Но когда я добавляю места, я делаю неправильно, размер хеш-таблицы бронирования всегда равен 1
public void registerPlace(Client k,Place h) throws RezervimiException{
ArrayList<Place> list = new ArrayList<>();
if(booking.containsKey(k)){
list.add(h);
} else {
booking.put(k, list);
}
}