従業員のマップを使用している理由はわかりませんが、適切な getter を使用してメール アドレスが Employee クラス内に String オブジェクトとして格納されていると仮定するとgetEmail()
、コードは次のようになります。
public Employee findEmail( String email )
{
for( Employee e : map.values() )
{
if( email.equals( e.getEmail() ) )
return e;
}
return null;
}
ただし、このコードはマップ内のすべての従業員をループする必要があるため、あまり効率的ではありません。
get( Object key )
ただし、マップに従業員への電子メール アドレスのマッピングが含まれている場合は、マップのメソッドを使用して、電子メール アドレスに関連付けられた従業員を非常に迅速に取得できます。
Employee emp = map.get( "someone@somedomain.com" );
if( emp != null )
System.out.println( "Employee with that email address is " + emp );
else
System.out.println( "No Employee with that email address." );
これが役立つことを願っています。補足として、より多くのコード (Employee クラスなど) を投稿すると、ソリューションがより正確で役立つものになることは間違いありません。