对arraylist android中特定键的所有值求和
我有一个arraylist对arraylist android中特定键的所有值求和,android,arraylist,Android,Arraylist,我有一个arraylist ArrayList<HashMap<String, String>> arraylist; ArrayList ArrayList; 我将json数据添加到此arraylist中,以便稍后使用以下格式的hashmap填充到listview中 int ja=jsonarray.length(); for (int i = 0; i <= ja; i++) {
ArrayList<HashMap<String, String>> arraylist;
ArrayList ArrayList;
我将json数据添加到此arraylist中,以便稍后使用以下格式的hashmap填充到listview中
int ja=jsonarray.length();
for (int i = 0; i <= ja; i++) {
HashMap<String, String> map = new HashMap<String, String>();
jsonobject = jsonarray.getJSONObject(i);
// Retrive JSON Objects
map.put("slno", jsonobject.getString("slno"));
map.put("mark", jsonobject.getString("mark"));
// Set the JSON Objects into the array
arraylist.add(map);
}
intja=jsonarray.length();
对于(inti=0;i这可能不是最好的方法,但它肯定会为您提供解决方案
try{
int sum = 0;
for(HashMap<String, String> map : arrayList) {
sum += Integer.parseInt(map.get("mark"));
}
} catch (Exception e) {
//Manage your exception
}
// sum has the value for the marks total.
System.out.println("Total Marks: "+sum);
试试看{
整数和=0;
for(HashMap映射:arrayList){
sum+=Integer.parseInt(map.get(“mark”));
}
}捕获(例外e){
//管理您的异常
}
//sum具有总分的值。
System.out.println(“总分:+sum”);
我认为您只需要浏览数组列表
并从中找到“mark”键
您的HashMap
并将其添加到总和中
int nTotalSum = 0;
try
{
for( int i =0; i < arraylist.size(); i++ )
{
HashMap<String, String> map = arraylist.get(i);
String sValue;
if ( (sValue=map.get("mark")) != null)
{
nTotalSum += Integer.parseInt(sValue);
}
}
}
catch (Exception e)
{
}
System.out.println("Total Mark: " + nTotalSum);
int ntotatasum=0;
尝试
{
对于(int i=0;i
我得到的是0作为输出。请在您的问题中发布完整的代码。您还可以检查您是否得到JSON中标记的值吗?我得到的是标记的值..我应该在arrayadapter中使用您的解决方案还是在postexecute中使用?抱歉!!!它起作用了。由于浮点数的原因,它可能没有显示所需的结果..thaNKS我应该在postexecute或arrayadapter中使用它吗?你也可以使用它。这实际上取决于你的ArrayList的大小。如果它小于100,那么你可以将它放在任何地方,但是如果你要处理数千个这样的条目,那么一个线程或在doInBackground中可能是一个不错的选择。