只是想知道如何将用户输入与员工类的内容相匹配。
public void searchByName ()
{
//and check for each employee if his/her email matches the searched value
for(Employee e : map.values())
{
System.out.println(e); //Will print out Employee toString().
}
}
答案 0 :(得分:1)
我不明白你为什么使用员工地图,但假设你的电子邮件地址作为一个String对象存储在你的Employee类中,并使用适当的getter 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类)肯定有助于使解决方案更加准确和有用。