list - Simultaneously Iterate over multiple arrayLists in Java..Most efficiently -
i writing api, creates list of user objects , makes call 3rd party webservice list. 3rd party webservice responds list of userdetails objects containing details of users. ex:
class user{ string id; string name; }
a list constructed above user objects , passed on 3rd party webservice.
list<user> users = new arraylist <user>();
the 3rd party webservice responds list of userdetails objects.
class userdetails { string id; string email; string accountnumber; ... ... } list<userdetails> userdetails = new arraylist <userdetails>();
now, construct response of api, construct list of userresponse objects contains mix of fields in user , userdetails objects.
class userresponse{ string id; string name; string email; string accountnumber; .... ... }
to construct list of userresponse objects, have iterate on user list , userdetails list , check if id's match , construct userrepsonse object , add them list. code below.
list <userresponse> userresponselist = new arraylist<userresponse>(); for(user user : userrequest){ for(userdetails userdetail: userdetails){ if(user.getid().equalsignorecase(userdetail.getid())){ userresponse userreponse = new userresponse (); userreponse.setid(user.getid()); userreponse.setname(user.getname()); userreponse.setemail(userdetail.getemail()); userreponse.setaccountnumber(userdetail.getaccountdetail()); userresponselist.add(userreponse); } } }
and return userresponselist.
the above code works. iterating on 2 lists scaring me. api can have 200 users in 1 request. send list of 200 user objects 3rd party service , 3rd party webservice responds list of 200 userdetails objects.
this means iterating 200*200 items in double iterator.
is there better , more efficient way perform logic instead of iterating many times ?
advance thanks..
since use id field common identifier, both objects, why don't try make map userdetails grouped id. after iterate users list , use map.get(id) retrieve each user it's details , can build desired list of objects based on 2 type of objects.
Comments
Post a Comment