如何将返回对象的结果调用到哈希/树映射中JAVA

如何将返回对象的结果调用到哈希/树映射中JAVA,java,Java,我从未使用过HashMap,也不太确定它是如何工作的。我有一个MainMenu类,用户从中选择一个数字,将它们指向一个单独的类/方法,该类/方法请求返回到对象的信息 我需要用户输入一个代码,该代码将标识我创建的行(比如用户在一个请求中输入QA,在另一个请求中输入400…)我将要求用户输入QA400,他们将看到他们之前输入的整行信息(经过一点格式化) 我只是不知道如何获取这些变量并将它们从HashMap中打印出来(或者我应该使用TreeMap?我读过它的更有条理的内容?) 这是我的主菜单的一部分,

我从未使用过HashMap,也不太确定它是如何工作的。我有一个MainMenu类,用户从中选择一个数字,将它们指向一个单独的类/方法,该类/方法请求返回到对象的信息

我需要用户输入一个代码,该代码将标识我创建的行(比如用户在一个请求中输入QA,在另一个请求中输入400…)我将要求用户输入QA400,他们将看到他们之前输入的整行信息(经过一点格式化)

我只是不知道如何获取这些变量并将它们从HashMap中打印出来(或者我应该使用TreeMap?我读过它的更有条理的内容?)

这是我的主菜单的一部分,在开关柜里面

                case 3:
                A8AirlineAircraftData.AddAirline(sc);
                continue;
            case 4:
                A8FlightData.AddFlight(sc);
                continue;
用户按3,然后重定向到:

public class A8AirlineAircraftData {

private String airName; //these are all showing a warning saying 'Field ____ can be final'
private String airCode;
private String airCraft;
private int firstClass;
private int busiClass;
private int econClass;

public A8AirlineAircraftData(String airName, String airCode, String airCraft, int firstClass, int busiClass, int econClass) {
    this.airName = airName;
    this.airCode = airCode;
    this.airCraft = airCraft;
    this.firstClass = firstClass;
    this.busiClass = busiClass;
    this.econClass = econClass;
} 

public static A8AirlineAircraftData AddAirline(Scanner sc) {
    sc.nextLine();
    System.out.println("Please enter the Airline name:");
    String airName = sc.nextLine();

    System.out.println("Please enter the Airline code:");
    String airCode = sc.nextLine();
    System.out.println("Please enter the Delta Aircraft:");
    String airCraft = sc.nextLine();
    System.out.println("Please enter the first class seat capacity:");
    int firstClass = sc.nextInt();
    System.out.println("Please enter the business class seat capacity:");
    int busiClass = sc.nextInt();
    System.out.println("Please enter the economy class seat capacity:");
    int econClass = sc.nextInt();
    System.out.println("Airline name: " + airName);
    System.out.println("Airline code: " + airCode);
    System.out.println("Delta Aircraft: " + airCraft);
    //Splitting the first word from the rest of the string
    String arr[] = airCraft.split(" ", 2);
    String firstWord = arr[0];
    System.out.println(firstWord + " first class seat capacity: " + firstClass);
    System.out.println(firstWord + " business class seat capacity: " + busiClass);
    System.out.println(firstWord + " economy class seat capacity: " + econClass);
    //Airline object
    A8AirlineAircraftData airline = new A8AirlineAircraftData(airName, airCode, airCraft, firstClass, busiClass, econClass);
    System.out.println(airName + " successfully added. Press Enter to continue.");
    sc.nextLine();
    sc.nextLine();//Press Enter to continue 
    return airline;
我希望最终结果看起来像是从主菜单或任何地方简单地重述“airline”对象。。。我只是不知道从哪里开始创造它


谢谢您的帮助。

您必须在主菜单中捕获返回的对象,即您案例中的airline对象

case 3: 
    A8AirlineAircraftData airline = A8AirlineAircraftData.AddAirline(sc);
    /*do something with the airline*/
    continue;

Hashmap使用hashfunction将一个对象映射到另一个对象。Hashmap使用map.get(key)将对象键映射返回到。我不太明白你的问题,但希望这能对你有所帮助。如果你想简单地从主菜单中重述“airline”对象,那么你应该创建一个
airline
对象。不是
映射
哈希
,或其他)。@ElliottFrisch我该如何开始创建它?很抱歉,我对Java非常缺乏经验。@SamK9键的一端是否可以由用户键入以与以前输入的数据相匹配?
new A8AirlineAircraftData(airName、airCode、airCraft、firstClass、busiClass、econClass)看起来很合理。在那里添加一个
toString
(到类
A8AirlineAircraftData
)。并将其重命名为
Airline
。我尝试使用该方法运行类似System.out.println(Airline)的系统,结果是:a8airlineflightschedule。A8AirlineAircraftData@15e6e48bYou必须在A8AirlineAircraftData中添加toString()方法。
public String toString(){return airName+airCode;}
您能给我举个例子说明我可以如何做到这一点吗?我对此非常陌生。将这段代码
公共字符串添加到字符串(){return“airname是:“+airname+”,aircode是:“+aircode;}
添加到8airlineAircraftData类。然后使用
System.out.println(airline.toString())