package Ġcom . bk ahl ert . kom mon s . collections Ċ Ċ public Ġinterface ĠDictionary < K , Ġout ĠV > Ġ: ĠMap < K , ĠV > Ġ{ ĊĠĠĠ Ġoverride Ġoperator Ġfun Ġget ( key : ĠK ): ĠV Ċ } Ċ Ċ public Ġclass ĠMap Based Dictionary < K , Ġout ĠV >( ĊĠĠĠ Ġprivate Ġval Ġmap : ĠMap < K , ĠV >, ĊĠĠĠ Ġprivate Ġval Ġdefault : Ġ( K ) Ġ-> ĠV , Ċ ) Ġ: ĠDictionary < K , ĠV >, ĠMap < K , ĠV > Ġby Ġmap Ġ{ ĊĠĠĠ Ġoverride Ġoperator Ġfun Ġget ( key : ĠK ): ĠV Ġ= Ġmap . getOrElse ( key , Ġ{ Ġdefault ( key ) Ġ}) Ċ } Ċ Ċ public Ġfun Ġ< K , ĠV > Ġdict Of ( map : ĠMap < K , ĠV >, Ġdefault : Ġ( K ) Ġ-> ĠV ): ĠDictionary < K , ĠV > Ġ= ĠMap Based Dictionary ( map , Ġdefault ) Ċ public Ġfun Ġ< K , ĠV > Ġdict Of ( var arg Ġpairs : ĠPair < K , ĠV >, Ġdefault : Ġ( K ) Ġ-> ĠV ): ĠDictionary < K , ĠV > Ġ= ĠMap Based Dictionary ( pairs . toMap (), Ġdefault ) Ċ public Ġfun Ġ< K , ĠV > ĠIterable < Pair < K , ĠV >> . to Dict ( default : Ġ( K ) Ġ-> ĠV ): ĠDictionary < K , ĠV > Ġ= Ġdict Of ( toMap (), Ġdefault ) Ċ