package Ġio . jav al in . example . kotlin . user Ċ Ċ import Ġjava . util . concurrent . atomic . Atomic Integer Ċ Ċ // ĠThis Ġis Ġa Ġservice , Ġit Ġshould Ġcontain Ġno ĠJ aval in Ġimports Ċ object ĠUserService Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġusers Ġ= Ġhash Map Of ( ĊĠĠĠĠĠĠĠĠ 0 Ġto ĠUser ( id Ġ= Ġ 0 , Ġname Ġ= Ġ" Alice ", Ġemail Ġ= Ġ" alice @ alice . kt "), ĊĠĠĠĠĠĠĠĠ 1 Ġto ĠUser ( id Ġ= Ġ 1 , Ġname Ġ= Ġ" Bob ", Ġemail Ġ= Ġ" bob @ bob . kt "), ĊĠĠĠĠĠĠĠĠ 2 Ġto ĠUser ( id Ġ= Ġ 2 , Ġname Ġ= Ġ" Car ol ", Ġemail Ġ= Ġ" car ol @ car ol . kt "), ĊĠĠĠĠĠĠĠĠ 3 Ġto ĠUser ( id Ġ= Ġ 3 , Ġname Ġ= Ġ" D ave ", Ġemail Ġ= Ġ" d ave @ d ave . kt ") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġvar Ġlast Id : ĠAtomicInteger Ġ= ĠAtomicInteger ( users . size Ġ- Ġ 1 ) ĊĊĠĠĠ Ġfun ĠgetAll () Ġ= Ġusers . values ĊĊĠĠĠ Ġfun Ġsave ( name : ĠString , Ġemail : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġlast Id . increment AndGet () ĊĠĠĠĠĠĠĠ Ġusers [ id ] Ġ= ĠUser ( name Ġ= Ġname , Ġemail Ġ= Ġemail , Ġid Ġ= Ġid ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġfind ById ( id : ĠInt ): ĠUser ? Ġ= Ġusers [ id ] ĊĊĠĠĠ Ġfun Ġupdate ( id : ĠInt , Ġname : ĠString , Ġemail : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġusers [ id ] Ġ= ĠUser ( name Ġ= Ġname , Ġemail Ġ= Ġemail , Ġid Ġ= Ġid ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġdelete ( id : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġusers . remove ( id ) ĊĠĠĠ Ġ} Ċ Ċ } Ċ