package Ġnor ia . utils ĊĊ Ċ interface ĠMutable Map Like < K Ġ: ĠAny , ĠV > Ġ{ ĊĠĠĠ Ġoperator Ġfun Ġget ( key : ĠK ): ĠV ? ĊĠĠĠ Ġfun Ġput ( key : ĠK , Ġv : ĠV ) ĊĠĠĠ Ġoperator Ġfun Ġset ( key : ĠK , Ġv : ĠV ) ĊĠĠĠ Ġfun Ġremove ( key : ĠK ) ĊĠĠĠ Ġfun Ġcontains Key ( key : ĠK ): ĠBoolean ĊĠĠĠ Ġfun ĠforEach ( handler : Ġ( K , ĠV ) Ġ-> ĠUnit ) ĊĠĠĠ Ġfun Ġsize (): ĠInt ĊĠĠĠ Ġfun Ġclear () Ċ } Ċ Ċ expect Ġfun Ġ< V > Ġfast String Map (): ĠMutable Map Like < String , ĠV > Ċ expect Ġfun Ġ< V > Ġfast Int Map (): ĠMutable Map Like < Int , ĠV > Ċ Ċ inline Ġfun Ġ< K Ġ: ĠAny , ĠV > ĠMutable Map Like < K , ĠV >. get Or Put ( key : ĠK , ĠdefaultValue : Ġ() Ġ-> ĠV ): ĠV Ġ{ ĊĠĠĠ Ġval Ġvalue Ġ= Ġget ( key ) ĊĠĠĠ Ġreturn Ġif Ġ( value Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġanswer Ġ= ĠdefaultValue () ĊĠĠĠĠĠĠĠ Ġput ( key , Ġanswer ) ĊĠĠĠĠĠĠĠ Ġanswer ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ Ġvalue ĊĠĠĠ Ġ} Ċ } Ċ