0

只是想知道我如何将用户输入与员工类的内容相匹配。

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().
    }
}
4

1 回答 1

1

我不明白您为什么要使用员工地图,但假设您的电子邮件地址在您的 Employee 类中存储为 String 对象,并带有适当的 getter getEmail(),那么代码将如下所示:

public Employee findEmail( String email )
{
    for( Employee e : map.values() )
    {
        if( email.equals( e.getEmail() ) )
            return e;
    }
    return null;
}

不过,这段代码效率不高,因为它必须遍历 Map 中的每个 Employee。

但是,如果您的 Map 包含电子邮件地址到员工的映射,那么您可以使用 Map 的方法非常快速地获取与电子邮件地址关联的员工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 类)肯定有助于使解决方案更加准确和有用。

于 2012-06-30T15:45:02.433 回答