【问题标题】:How do I loop / can I loop a hashmap put()?我如何循环/我可以循环一个 hashmap put() 吗?
【发布时间】:2019-04-22 16:49:57
【问题描述】:

我有一个带有车辆属性的 Arraylist,我需要将它们存储在“停车场插槽”中,因此我决定使用 HashMap 来存储带有车辆注册的车辆插槽,例如“1 = VEHICLE”。

在我的代码中,我有它,以便在从用户输入获取所需信息后添加一个 Integer 和一个带有 put 语句的 Vehicle,它适用于第一个输入,但之后它只是被替换,我将如何去关于循环 put() 或循环以将内容添加到地图中?

(我还计划让我的 HashMap 创建和填充成为我调用的函数,这只是一个临时的事情,直到我弄清楚或意识到这是不可能的。)

   public void carInfo(Vehicle tempVehicle, parkingSpace vehicle) {

        HashMap<Integer, Vehicle> hash_map = new HashMap<Integer, Vehicle>();

        array = new MCP();

        System.out.println("Please enter number plate: ");
        input = new Scanner(System.in);
        String plate = input.nextLine();

        System.out.println("Please enter car make: ");
        input = new Scanner(System.in);
        String make = input.nextLine();

        System.out.println("How would you best describe your Vehicle? ");
        System.out.println("(Car, Small Van, Tall Van, Long Van, Coach, Motorbike)");
        type = new Scanner(System.in);
        String type1 = input.nextLine();

            if (type1.equalsIgnoreCase(vehicleType.CAR.toString())) {
                tempVehicle.setPlate(plate);
                tempVehicle.setCarMake(make);
                tempVehicle.setVehicle(vehicleType.CAR);
                inv.createInvoice();
                tempVehicle.setInvoiceNumber(inv.invoiceNumber);

                array.addStandard(tempVehicle);

                hash_map.put(test++, tempVehicle);

                System.out.println(hash_map.toString());

我希望添加许多输入并得到类似的结果:

1 = Vehicle

2 = Vehicle

相反,我只是得到

1 = Vehicle

然后它会替换第一辆车然后放弃

2 = Vehicle

我已经研究并意识到这是因为我只有 1 个 put 所以它只是替换了当前映射到那里的东西,我只是不确定如何循环它来解决这个问题。

【问题讨论】:

  • 请提供完整的代码示例:stackoverflow.com/help/mcve
  • 您每次调用carInfo 时都会创建一个新的HashMap,在其中添加一个条目,然后打印它,那么您为什么会期望一张包含多个条目的地图。将hash_map 移动为一个字段,而不是一个局部变量,因此它会保留每次调用carInfo 方法的内容。

标签: java loops input hashmap


【解决方案1】:

每次调用方法 carInfo 时都会创建一个新的 HashMap,因此 HashMap 始终有一个条目,您可以通过将 HashMap 作为类的局部变量来解决这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-12
    • 2011-04-14
    • 2015-12-17
    • 1970-01-01
    相关资源
    最近更新 更多