本文介绍了哈希映射覆盖值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
嘿,我试图为飞机做一个hashMap商店。但是当我添加时,它只会打印出一个航班。谁能帮我这个。这是我的代码:
import java.util.Scanner;
public class MainApp
{
private Scanner keyboard = new Scanner(System.in);
public static void main(String [] args)
{
new MainApp()。start();
public void start()
{
航空公司航班=新航空公司(AerLingus);
PlaneStore planeStore =新PlaneStore(Aer Lingus);
航班P1 =新航班(Aer Lingus,A01,150.5,10.5,500,Flight.AIRPLANETYPE.AIRBUS);
航班p2 =新航班(Aer Lingus,B01,50.3,1.5,91,Flight.AIRPLANETYPE.CORPORATE);
Flight p3 =新航班(Aer Lingus,C01,12.2,-3.1,56,Flight.AIRPLANETYPE.AIRBUS);
航班p4 =新航班(Ryan Air,D01,10.5,1.5,430,Flight.AIRPLANETYPE.PRIVATE);
Flight p5 =新航班(Ryan Air,E01,0.3,2.1,101,Flight.AIRPLANETYPE.CORPORATE);
Flight p6 =新航班(Ryan Air,F01,2.2,-3,291,Flight.AIRPLANETYPE.AIRBUS);
planeStore.addFlight(,p1);
planeStore.addFlight(,p2);
planeStore.addFlight(,p3);
planeStore.print();
aerLingus.add(planeStore);
aerLingus.add(planeStore);
aerLingus.add(planeStore);
aerLingus.printPlane();
}
}
import java.util.TreeMap;
公共类PlaneStore
{
私人字符串airlineName;
私人TreeMap< String,Flight> planeMap;
public PlaneStore(String airlineName)
{
this.airlineName =;
planeMap = new TreeMap< String,Flight>();
}
public String getAirlineName(){
return airlineName;
}
公共TreeMap< String,Flight> getFlightList(){
return planeMap;
}
public void addFlight(String airline,Flight flight)
{
planeMap.put(airline,flight);
}
// ----------------------------------- -------------------------------------------------- -
//名称:打印。
// -------------------------------------------- -------------------------------------------
public void print ()
{
System.out.println(\\\
******** Student's in the Company。********);
for(Flight flight:planeMap.values()){
// System.out.println(employee);打印员工
的toString // class
//或:
System.out.println(航空公司:\ t+ flight.getAirline());
System.out.println(航班号:\ t+ flight.getFlightNumber());
System.out.println(Fuel Remaining:\t+ flight.getFuelRemaining());
}
}
}
公共类航班
{
私人航空公司;
private String flightNumber;
私人双燃料剩余;
私人双倍逾期;
private int passengerNumber;
私人AIRPLANETYPE planeType; (b)b空运(1),公司(2),私人(3);
私人字符串planeName;
private AIRPLANETYPE(String planeName)
{
this.planeName = planeName;
public Flight(String airline,String flightNumber,double fuelRemaining,
double doubleue,int passengerNumber,AIRPLANETYPE planeType)
{
super();
this.airline = airline;
this.flightNumber = flightNumber;
this.fuelRemaining = fuelRemaining;
this.overdue =逾期;
this.passengerNumber = passengerNumber;
this.planeType = planeType;
}
public String getAirline(){
return airline;
}
public void setAirline(String airline){
this.airline = airline;
}
public String getFlightNumber(){
return flightNumber;
}
public void setFlightNumber(String flightNumber){
this.flightNumber = flightNumber;
}
public double getFuelRemaining(){
return fuelRemaining;
}
public void setFuelRemaining(double fuelRemaining){
this.fuelRemaining = fuelRemaining;
}
public double getOverdue(){
return overdue;
}
public void setOverdue(double doubledue){
this.overdue = overdue;
}
public int getPassengerNumber(){
return passengerNumber;
}
public void setPassengerNumber(int passengerNumber){
this.passengerNumber = passengerNumber;
}
public AIRPLANETYPE getPlaneType(){
return planeType;
}
public void setPlaneType(AIRPLANETYPE planeType){
this.planeType = planeType;
public String toString()
{
returnFlight [airline =+ airline +,flightNumber =+ flightNumber
+,fuelRemaining =+ fuelRemaining +,逾期=+逾期
+,passengerNumber =+ passengerNumber +,planeType =
+ planeType +];
}
}
使用此数据结构,您可以非常快速地添加和查找值,因为添加和查找值的复杂性是恒定的。但缺点是您只能一次添加一个密钥。
Hey im trying to make a hashMap store for planes. But when i add, it will only print out one flight. Can anyone help me with this.Here is my code:
import java.util.Scanner;
public class MainApp
{
private Scanner keyboard = new Scanner(System.in);
public static void main(String[] args)
{
new MainApp().start();
}
public void start()
{
Airline aerLingus = new Airline("AerLingus");
PlaneStore planeStore = new PlaneStore("Aer Lingus");
Flight p1 = new Flight("Aer Lingus","A01", 150.5, 10.5, 500, Flight.AIRPLANETYPE.AIRBUS);
Flight p2 = new Flight("Aer Lingus","B01", 50.3, 1.5, 91, Flight.AIRPLANETYPE.CORPORATE);
Flight p3 = new Flight("Aer Lingus","C01", 12.2, -3.1, 56, Flight.AIRPLANETYPE.AIRBUS);
Flight p4 = new Flight("Ryan Air","D01", 10.5, 1.5, 430, Flight.AIRPLANETYPE.PRIVATE);
Flight p5 = new Flight("Ryan Air","E01", 0.3, 2.1, 101, Flight.AIRPLANETYPE.CORPORATE);
Flight p6 = new Flight("Ryan Air","F01", 2.2, -3, 291, Flight.AIRPLANETYPE.AIRBUS);
planeStore.addFlight("",p1);
planeStore.addFlight("",p2);
planeStore.addFlight("",p3);
planeStore.print();
aerLingus.add(planeStore);
aerLingus.add(planeStore);
aerLingus.add(planeStore);
aerLingus.printPlane();
}
}
import java.util.TreeMap;
public class PlaneStore
{
private String airlineName;
private TreeMap<String,Flight> planeMap;
public PlaneStore(String airlineName)
{
this.airlineName = "";
planeMap = new TreeMap<String,Flight>();
}
public String getAirlineName() {
return airlineName;
}
public TreeMap<String, Flight> getFlightList() {
return planeMap;
}
public void addFlight(String airline,Flight flight)
{
planeMap.put(airline, flight);
}
// ---------------------------------------------------------------------------------------
// Name: Print.
// ---------------------------------------------------------------------------------------
public void print()
{
System.out.println("\n********Student's in the Company.********");
for (Flight flight : planeMap.values()) {
// System.out.println(employee); to print the toString of Employee
// class
// or:
System.out.println("Airline:\t" + flight.getAirline());
System.out.println("Flight Number:\t" + flight.getFlightNumber());
System.out.println("Fuel Remaining:\t" + flight.getFuelRemaining());
}
}
}
public class Flight
{
private String airline;
private String flightNumber;
private double fuelRemaining;
private double overdue;
private int passengerNumber;
private AIRPLANETYPE planeType;
public enum AIRPLANETYPE
{
AIRBUS("1"), CORPORATE("2"), PRIVATE("3");
private String planeName;
private AIRPLANETYPE(String planeName)
{
this.planeName = planeName;
}
}
public Flight(String airline, String flightNumber, double fuelRemaining,
double overdue, int passengerNumber, AIRPLANETYPE planeType)
{
super();
this.airline = airline;
this.flightNumber = flightNumber;
this.fuelRemaining = fuelRemaining;
this.overdue = overdue;
this.passengerNumber = passengerNumber;
this.planeType = planeType;
}
public String getAirline() {
return airline;
}
public void setAirline(String airline) {
this.airline = airline;
}
public String getFlightNumber() {
return flightNumber;
}
public void setFlightNumber(String flightNumber) {
this.flightNumber = flightNumber;
}
public double getFuelRemaining() {
return fuelRemaining;
}
public void setFuelRemaining(double fuelRemaining) {
this.fuelRemaining = fuelRemaining;
}
public double getOverdue() {
return overdue;
}
public void setOverdue(double overdue) {
this.overdue = overdue;
}
public int getPassengerNumber() {
return passengerNumber;
}
public void setPassengerNumber(int passengerNumber) {
this.passengerNumber = passengerNumber;
}
public AIRPLANETYPE getPlaneType() {
return planeType;
}
public void setPlaneType(AIRPLANETYPE planeType) {
this.planeType = planeType;
}
public String toString()
{
return "Flight [airline=" + airline + ", flightNumber=" + flightNumber
+ ", fuelRemaining=" + fuelRemaining + ", overdue=" + overdue
+ ", passengerNumber=" + passengerNumber + ", planeType="
+ planeType + "]";
}
}
解决方案
HashMap is a data structure in which you are able to store key-value pairs. It essential that the key is unique. Otherwise you overwrite the value that has the same key.
With this data structure you are able to add and find values very quickly because the complexity of adding and finding values is constant. But the disadvantage is that you can only add a key one time.
这篇关于哈希映射覆盖值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!