【问题标题】:Arraylist inside an Hashmap JAVAHashmap JAVA 中的 Arraylist
【发布时间】:2018-12-04 16:34:31
【问题描述】:

我正在尝试制作一个预订应用程序。我有酒店、客户和图书课程。每个客户都有一个唯一的编号,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 并确保它适合每个客户?

【问题讨论】:

    标签: arraylist hashmap


    【解决方案1】:

    在最后一个 if 语句之后尝试以下代码:

        List<Book> books = hm.get(n);
        if(books== null) {
            books = new ArrayList<>();
        }
        books.add(b);
        hm.put(n, books);
    

    【讨论】:

    • 泰!!在我看来这很合乎逻辑!我会尝试这种方式,对不起,但我对此完全陌生。非常感谢! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-24
    • 1970-01-01
    • 2012-03-26
    • 2015-02-13
    • 1970-01-01
    • 1970-01-01
    • 2016-07-21
    相关资源
    最近更新 更多