ArrayList HashMap Elemente zum Array
Wie kann ich ein array von Elementen in einem ArrayList
von HashMaps
? Ich habe eine HashMap mit url-Schlüssel. Der Wert ist eine url-Adresse. Mehrere HashMaps
gespeichert werden, in einer ArrayList
. Was ich will ist ein array
mit allen url-Zeichenfolgen. Ich bin nicht glücklich mit der Lösung, die ich gefunden, weil ich denke, es könnte sein, extrahiert aus ArrayList
mit einigen Manipulationen.
//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();
}
InformationsquelleAutor Medeiros | 2012-11-27
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus, was kann ich folgere aus Ihrer Frage, es klingt wie Sie versuchen, führen Sie den folgenden
urls.get(index).values()
zurückCollection
Blick auf die Werte, die in derHashMap
an der angegebenenArrayList
index, der verwendet wird, instanziiert Sie und füllen Sie eine neueArrayList
.Wenn Sie möchten, erhalten alle der Werte innerhalb jeder der verschachtelten
HashMaps
oderurls
Sie so tun können, in einer ähnlichen Weise, aber Sie brauchen, um zu Durchlaufen und die gesamteurls ArrayList
P. S. Verzeihen Sie meine schlechte Variablennamen!
InformationsquelleAutor Neeko
Sieht es aus wie Sie den Aufbau einer Tabelle. Wenn Sie können, fügen Sie die Google Guava Library, Sie könnte verwenden Sie einfach die folgende:
Finden Sie in der JavaDoc:
http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/Table.html
InformationsquelleAutor CaTalyst.X