我是Android新手。我做了搜索,但在Android中找不到任何类似iOS的NSdictionary的工作。例如,在iOS中我可以像这种格式
创建 SIMPLE 字典数组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]
我知道我可以创建类似于android
中的字符串数组<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>
我的问题是,是否还有其他东西用于在iOS中创建 AN 字典数组。
感谢您的帮助。
答案 0 :(得分:14)
首先,我认为有很多这方面的教程,然后你可以搜索更多信息。 由于您是Android的新手,您可能不知道要搜索的“名称”。对于这种情况,“HashMap”就是你要找的。它像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);
现在你有一个字典数组。
希望得到这个帮助。
答案 1 :(得分:2)
您可以将@ user1139699所说的内容放入ArrayList。
ArrayList<HashMap> list = new ArrayList();
Map <String, String> map = new HashMap<String,String>();
map.put("key","Obj");
list.add(map);
答案 2 :(得分:0)
如果你想加载这样的文件:
property.key.1=value of 1st key
property.key.2=value of 2nd key
prompt.alert = alert
等你可以使用java Properties();然后,您可以立即获得每个键的值。
说明:
您有一个文件myTranslations.txt。在该文件中,您可以使用以下格式编写键/值对:
property.key.1=value of 1st key
property.key.2=value of 2nd key
prompt.alert = alert
其中“=”前面的部分是键,后面的部分是值。
然后在您的代码中执行:
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();
}
其中filePath是上面文件的路径。
然后你可以得到每个键的值:
properties.get("prompt.alert")
将返回字符串:
alert
就像它在txt文件中一样。
如果它有帮助请upvote。