Diese Frage wurde bereits früher gestellt. Aber jede dieser Antworten hat mein Problem nicht gelöst. Jemand bitte helfen.HashMap.put() überschreiben bereits vorhandener Wert, auch wenn der Schlüsselwert anders ist
Ich habe zwei HashMaps, final HashMap<String,String> dataList = new HashMap<String,String>();
final HashMap<String,HashMap<String,String>> full = new HashMap<String,HashMap<String,String>>();
Dies ist mein Code.
int i=0;
for(DataSnapshot snap : dataSnapshot.getChildren()) {
i++;
String id = "Name "+String.valueOf(i);
strArray.add(snap.child("email").getValue().toString());
String name = snap.child("FirstName").getValue().toString() + " " + snap.child("LastName").getValue();
dataList.put("Name", name);
dataList.put("Email",snap.child("email").getValue().toString());
dataList.put("Mobile", snap.child("Mobile").getValue().toString());
dataList.put("Birthdate", snap.child("birthdate").getValue().toString());
System.out.println("Datalist " + dataList);
full.put(id, dataList);}
ich zu erwarten haben, {Name 1 = {Birthdate=2012/02/15, [email protected], Mobile=, Name= },Name 2 = {Birthdate=2012/02/15, Email=xc, Mobile=8524, Name=Sdcc Kkn}}
Aber es überschreibt die excisting Wert. Dies ist das Ergebnis, das ich bekomme, {Name 1={Birthdate=2012/02/15, Email=xc, Mobile=8524, Name=Sdcc Kkn}, Name 2={Birthdate=2012/02/15, Email=xc, Mobile=8524, Name=Sdcc Kkn}}
Jemand bitte helfen Sie mir mit diesem Problem. Kommentar, wenn Sie mehr Informationen benötigen. Danke
Sie verwenden dieselbe Map-Instanz jedes Mal in der Schleife. Erstellen Sie jedes Mal eine neue 'Map'-Instanz für' dataList'. –
Danke für die Mike – Choxmi