在自定义ArrayList中将具有相同日期的元素分组

时间:2015-06-05 05:48:29

标签: java android arrays arraylist

我有一个自定义的 ArrayList ,其中一些对象具有相同的日期,所以如果它们的日期相同,我想将它们合并到一个对象中,这样每个唯一的日期只有一个项目。

我尝试了以下操作,但它无法按预期工作。

//set filedownload cookie.
header('Set-Cookie: fileDownload=true; path=/');
echo json_encode(array("OK" => "Zip file created", 'file' => $zipFileName));

2 个答案:

答案 0 :(得分:1)

if(dateCurrnt.equalsIgnoreCase(dateCurrntNew)){
    arr.set(i, Integer.parseInt(
        CallLogger.arrContactDetails.get(i).getSmsCount()) + 
        Integer.parseInt(CallLogger.arrContactDetails.get(k).getSmsCount()));
}
else
{
    arr.add(Integer.parseInt(CallLogger.arrContactDetails.get(k).getSmsCount())); 
}

答案 1 :(得分:0)

您可以使用HashMap<String, Integer>,其中String代表字段形式的date字段&amp; Integer代表smsCount字段。

有了这个,你不需要在循环内部运行循环。只有一个for循环可以工作。

String dateCurrnt = Util.convertStringToDate(
            CallLogger.arrContactDetails.get(i).getDate());

Map<String, Integer> map = new HashMap<String, Integer>();
if (map.contains(dateCurrnt)) {
  //get the value & add the new smsCount to it & set it
} else {
  //put the value in map (first time)
  map.put(dateCurrnt, Integer.parseInt(
                CallLogger.arrContactDetails.get(i).getSmsCount()));
}