bru*_*rux 0 java android types
如果我有一个类型
ArrayList<HashMap<String,String>> keys = functionWhichReturnsThisType();
Run Code Online (Sandbox Code Playgroud)
我如何迭代,以便最终得到字符串数组中的所有<1st string of hashmap>,同样<hashmap>的第二个字符串>到另一个字符串数组中.
我曾尝试使用迭代器,但数据类型中的层次结构令我困惑.
appPrefs = new AppPreferences(context.getApplicationContext());
ArrayList<HashMap<String,String>> keys = appPrefs.getDownloadUrls();
ArrayList<String> urls = new ArrayList<String>();
ArrayList<String> filenames = new ArrayList<String>();
Iterator myIterator = keys.keySet().iterator();
while(myIterator.hasNext()) {
urls.add((String)myIterator.next());
filenames.add((String)keys.get(myIterator.next()));
}
Run Code Online (Sandbox Code Playgroud)
如果订单无关紧要,您可以尝试
for (HashMap<String, String> map : keys) {
urls.addAll(map.keys());
filenames.addAll(map.values());
}
Run Code Online (Sandbox Code Playgroud)
如果您想保留订单,可以试试
for (HashMap<String, String> map : keys) {
for (Map.Entry<String, String> entry : map.entrySet()) {
urls.add(entry.getKey());
filenames.add(entry.getValue());
}
}
Run Code Online (Sandbox Code Playgroud)