java - Iterate a list of objects and compare properties -


i trying iterate list containing helper class objects , compare properties of helper. based on comparison if validation fails,i wanted show error message user. below code snippet.

public static void main(string[] args) {     map<string, string> errormap = new hashmap<string, string>();     simpledateformat format = new simpledateformat("dd/mm/yyyy");     list<helperdto> helpers = new helpertest().gethelpers();      (helperdto helperdto : helpers) {         string helperpkey = helperdto.gethelperpkey();         string employeepkey = helperdto.getemployeepkey();         string helperstart = helperdto.gethelperstart();         string helperend = helperdto.gethelperend();         if (helperstart == null || "".equals(helperstart)) {             errormap.put("helperst_" + helperpkey,                     "helper start required");         }         if (helperend == null || "".equals(helperend)) {             errormap.put("helperend_" + helperpkey,                     "helper end required");         }         if (employeepkey == null || "".equals(employeepkey)) {             errormap.put("employee_" + helperpkey,                     "helper name required");         }          try {             if (helperstart != null && !"".equals(helperstart)                     && helperend != null && !"".equals(helperend)) {                  date helperstartdate = format.parse(helperstart);                 date helperenddate = format.parse(helperend);                  if (!helperenddate.after(helperstartdate)) {                     errormap.put("helperend_" + helperpkey,                             "helper end should after helper start.");                 }             }          } catch (parseexception e) {             e.printstacktrace();         } catch (exception ex) {             ex.printstacktrace();         }     } }  private list<helperdto> gethelpers() {     list<helperdto> hdtolst = new arraylist<helperdto>();     hdtolst.add(new helperdto("100", "manu", "07/06/2013", "08/06/2013"));     hdtolst.add(new helperdto("101", "deepak", "07/06/2013", "08/06/2013"));     hdtolst.add(new helperdto("102", "manu", "07/06/2013", "10/06/2013"));     return hdtolst;         } 

how can compare enddate of 1st object startdate of 2nd object , on(if employee name same.in above helper list 1st & 3rd object has same name 'manu'). can me on this. in advance !!

i don't want compare object or remove duplicate object list.

i think need keep hash of last seen enddate each name. e.g. declare before loop:

map<string,date> lastdateforname = new hashmap<string,date>(); 

then after you've tested else current record, this:

if (lastdateforname.get(employeepkey) != null     && !helperstartdate.after(lastdateforname.get(employeepkey))) {   errormap.put(...); } lastdateforname.put(employeepkey, helperenddate) 

Comments

Popular posts from this blog

Java 3D LWJGL collision -

methods - python can't use function in submodule -

c# - ErrorThe type or namespace name 'AxWMPLib' could not be found (are you missing a using directive or an assembly reference?) -