Ich habe HashMap zum Speichern von Marke: Autoschlüssel Wertpaar erstellt und zwei Automarken und deren Details eingefügt.Aber beim Aufruf .get (Schlüssel) -Methode bekomme ich zuletzt gespeicherte Werte.Falsche Werte in HashMap
public class MapTest {
public static void main(String args[]) {
MapTest map=new MapTest();
map.test();
}
public void test() {
HashMap<String,Car> vehicle=new HashMap<>();
Details def=new Details();
Car car=new Car();
car.name="Mustang";
def.model="SportsRoof";
def.model_no=1969;
def.color="Blue";
car.features.add(def);
vehicle.put("Ford",car);
car.name="R8";
def.model="Coupe";
def.model_no=2009;
def.color="Black";
car.features.clear();
car.features.add(def);
vehicle.put("Audi",car);
System.out.println(vehicle.get("Ford").name);
System.out.println(vehicle.get("Ford").features.get(0).model);
System.out.println(vehicle.get("Ford").features.get(0).model_no);
System.out.println(vehicle.get("Ford").features.get(0).color);
}
Andere Clsses
public class Car {
String name;
List<Details> features=new ArrayList<>();
public Car() {
}
}
public class Details {
String model;
int model_no;
String color;
public Details() {
}
}
}
Ausgang R8 Coupe Schwarz
Also muss ich zwei Auto-Objekte erstellen? –
Ja ... Ich aktualisiere jetzt mit Code ... 1 min –