Gibt es so etwas wie NSDictionary in android?

Ich bin neu für Android. Ich habe gesucht, aber konnte nichts finden wie NSdictionary von iOS in Android. Zum Beispiel in iOS kann ich SIMPLE Array von Wörterbuch wie dieses Format erstellen

Array idx1: [objA1 for keyA],[objB1 for keyB],[objB1 for keyC] idx2: [objA2 for keyA],[objB2 for keyB],[objB2 for keyC] idx3: [objA3 for keyA],[objB3 for keyB],[objB3 for keyC] 

Ich weiß, ich kann String-Array, die ähnlich wie in Android zu arbeiten

 <string-array name="list_obj1"> <item>ObjA1</item> <item>ObjB2</item> <item>ObjC3</item> </string-array> <string-array name="list_obj2"> <item>ObjB1</item> <item>ObjB2</item> <item>ObjB3</item> </string-array> <string-array name="list_obj3"> <item>ObjC1</item> <item>ObjC2</item> <item>ObjC3</item> </string-array> 

Meine Frage ist, wenn es irgendetwas anderes verwendet wird, um ein Array von Wörterbuch in Android wie iOS zu erstellen.

Danke für Ihre Hilfe.

  • Fügen Sie eine ListView oder RecyclerView zu neuen NavigationView hinzu
  • Android: wie man eine Zeile aus einer ListView mit einer Löschtaste in der Zeile löscht
  • Mehrfachauswahlliste mit benutzerdefinierter Ansicht?
  • ANDROID: Hinzufügen von leerem Leerzeichen zum Ende von ListView
  • OnItemClickListener auf einem ListView innerhalb eines Fragments funktioniert nicht
  • Android: Können Sie durch die nav-Schublade klicken? AppCompat v7: r21
  • Warum kehrt AdMob NO FILL zurück
  • Was ist RecyclerView.Adapter's Gegenstück von ListView.Adpater.isEnabled ()
  • 3 Solutions collect form web for “Gibt es so etwas wie NSDictionary in android?”

    Zuerst denke ich, es gibt viele Tutorials über dieses Zeug, dann können Sie nach weiteren Informationen suchen. Da bist du neu bei android, du kennst vielleicht nicht den "name" zu suchen. Für diesen Fall ist "HashMap" was du suchst. Es funktioniert wie NSdictionary.

     //Create a HashMap Map <String,String> map = new HashMap<String,String>(); //Put data into the HashMap map.put("key1","Obj1"); map.put("key2","Obj2"); map.put("key3","Obj3"); // Now create an ArrayList of HashMaps ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>(); //Add the HashMap to the ArrayList mylist.add(map); 

    Jetzt hast du wie eine Reihe von Wörterbuch.

    Ich hoffe das hilft.

    Sie könnten setzen, was @ user1139699 in eine ArrayList sagte.

     ArrayList<HashMap> list = new ArrayList(); Map <String, String> map = new HashMap<String,String>(); map.put("key","Obj"); list.add(map); 

    Auch wenn du eine Datei wie folgt laden möchtest:

     property.key.1=value of 1st key property.key.2=value of 2nd key prompt.alert = alert 

    Etc können Sie java Properties () verwenden; Dann kannst du sofort den Wert jeder Taste bekommen.



    Erläuterung:

    Sie haben zB eine Datei myTranslations.txt. In dieser Datei schreiben Sie Schlüsselpaare / Werte im Format:

     property.key.1=value of 1st key property.key.2=value of 2nd key prompt.alert = alert 

    Wo der Teil vor dem "=" der Schlüssel ist und der Teil nach dem Wert ist.

    Dann in deinem Code machst du:

     Properties properties = new Properties(); File propertiesFile = new File (filePath); FileInputStream inputStream = null; try { inputStream = new FileInputStream(propertiesFile); properties.load(inputStream); } catch (IOException ioe) { ioe.printStackTrace(); } 

    Wo filePath ist der Pfad zu Datei oben.

    Dann können Sie den Wert jeder Taste als:

     properties.get("prompt.alert") 

    Die den String zurückgeben wird:

     alert 

    Wie es in der txt-Datei ist.

    Wenn es hilft bitte upvote.

    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.