Java 数组HashMap元素到数组的ArrayList
如何在Java 数组HashMap元素到数组的ArrayList,java,android,arrays,arraylist,hashmap,Java,Android,Arrays,Arraylist,Hashmap,如何在HashMaps的ArrayList中获取元素数组?我有一个带有url键的HashMap。该值是一个url地址。多个哈希映射存储在ArrayList中。我想要的是一个包含所有url字符串的数组。我对我找到的解决方案不满意,因为我认为它可以通过一些操作从ArrayList中提取出来 // Hashmap for ListView ArrayList<HashMap<String, String>> itemsList = new Arr
HashMaps
的ArrayList
中获取元素数组?我有一个带有url键的HashMap。该值是一个url地址。多个哈希映射
存储在ArrayList
中。我想要的是一个包含所有url字符串的数组。我对我找到的解决方案不满意,因为我认为它可以通过一些操作从ArrayList
中提取出来
// Hashmap for ListView
ArrayList<HashMap<String, String>> itemsList = new ArrayList<HashMap<String, String>>();
// Creating JSON Parser instance
JSONParser jParser = new JSONParser();
jParser.execute(url);
try {
JSONObject json = jParser.get();
items = json.getJSONArray(TAG_ITEMS);
//This is the solution that I want to optimize
urls = new String[items.length()];
// looping through All items
for(int i = 0; i < items.length(); i++){
JSONObject c = items.getJSONObject(i);
// Storing each json item in variable
String title = c.getString(TAG_TITLE);
String description = c.getString(TAG_DESCRIPTION);
String author = c.getString(TAG_AUTHOR);
// Media is another JSONObject
JSONObject m = c.getJSONObject(TAG_MEDIA);
String url = m.getString(TAG_URL);
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
// adding each child node to HashMap key => value
map.put(TAG_TITLE, title);
map.put(TAG_DESCRIPTION, description);
map.put(TAG_AUTHOR, author);
map.put(TAG_URL, url);
// Solution
urls[i] = url;
// adding HashList to ArrayList
itemsList.add(map);
}
} catch (JSONException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (ExecutionException e) {
e.printStackTrace();
}
//ListView的Hashmap
ArrayList itemsList=新的ArrayList();
//创建JSON解析器实例
JSONParser jParser=新的JSONParser();
jParser.execute(url);
试一试{
JSONObject json=jParser.get();
items=json.getJSONArray(TAG_items);
//这是我想要优化的解决方案
URL=新字符串[items.length()];
//循环浏览所有项目
对于(int i=0;ivalue
地图放置(标签标题、标题);
地图放置(标签描述,描述);
map.put(TAG_AUTHOR,AUTHOR);
map.put(TAG_URL,URL);
//解决方案
url[i]=url;
//将哈希列表添加到ArrayList
itemsList.add(地图);
}
}捕获(JSONException e){
e、 printStackTrace();
}捕捉(中断异常e){
e、 printStackTrace();
}捕获(执行例外){
e、 printStackTrace();
}
看起来您正在构建一个表。如果您可以添加Google Guava库,您可以使用以下内容:
Table<Integer, String, String> Table = HashedBasedTable.create()
Table Table=HashedBasedTable.create()
请参阅JavaDoc:
看起来你在建一张桌子。如果您可以添加Google Guava库,您可以使用以下内容:
Table<Integer, String, String> Table = HashedBasedTable.create()
Table Table=HashedBasedTable.create()
请参阅JavaDoc:
从你的问题中我可以推断出,听起来你在尝试做以下事情
// Assuming previously declared and instantiated urls ArrayList with populated values in the nested HashMaps.
ArrayList<HashMap<String, String>> urls;
// Create a new List using HashMap.values from urls.
List<String> urlList = new ArrayList<String>(urls.get(index).values());
请原谅我的错误变量名 从你的问题中我可以推断出,听起来你在尝试做以下事情
// Assuming previously declared and instantiated urls ArrayList with populated values in the nested HashMaps.
ArrayList<HashMap<String, String>> urls;
// Create a new List using HashMap.values from urls.
List<String> urlList = new ArrayList<String>(urls.get(index).values());
请原谅我的错误变量名