I don't think a single data structure can fulfill both the requirements.

A java.lang.Map is the structure you want if you want to quickly lookup a value for a given key. So, your key can either be the phone number or the employee name, not both. Note that you can yet loop through a map Map.Entry if you want to additionally search for something else.

While I feel that a database query is more suited for such need, A quick and dirty solution would be to use two Maps here.