Arraylist внутри Hashmap JAVA - PullRequest
       9

Arraylist внутри Hashmap JAVA

0 голосов
/ 04 декабря 2018

Я пытаюсь сделать приложение для бронирования.У меня есть классы Hotel, Client и Book.Каждый клиент имеет уникальный номер, такой же, как Book, но у одного клиента может быть 0 или много забронированных номеров.Я начал с идеи использования HashMap, так как я начинаю изучать Java, и это может быть полезно в подобных ситуациях.В классе Hotel HashMap инициализировался следующим образом:

private HashMap<Integer, ArrayList<Book>> hm

(ключ - номер клиента, а значения - ArrayList, для каждого клиента открыта возможность забронировать более одной комнаты, но каждый ArrayList имеетпринадлежать одному клиенту)

сейчас и хочу забронировать комнату и поместить ее в hashMap, но я застрял, так как не знаю, как инициализировать ArrayList для этого конкретного клиента ине использовать в любой другой ситуации. Это то, что я получил в своем классном отеле, в рамках которого я собираюсь забронировать ..

Book b=new Book(new GregorianCalendar(2018,month,day),days);
        System.out.println("Do you have a client number?(y/n");
        if (sc.next().toLowerCase().equals("y")) {
            System.out.println("Insert your client number");
            int n =sc.nextInt();
            for (Client c:this.clients) {
                if (c.getCodC()==n) {
                    this.hm.put(c.getCod(),???)

Мой вопрос в том, как я могу создавать и манипулироватьArrayList и быть уверенным, что он подходит каждому клиенту?

1 Ответ

0 голосов
/ 04 декабря 2018

Попробуйте следующий код после вашего последнего оператора if:

    List<Book> books = hm.get(n);
    if(books== null) {
        books = new ArrayList<>();
    }
    books.add(b);
    hm.put(n, books);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...