You put only one object into the map.
    StaffMember staff = new StaffMember();
    String line = null;
    while ((line = br.readLine()) != null)
    {
You need many objects
    String line = null;
    while ((line = br.readLine()) != null)
    {
        StaffMember staff = new StaffMember(); // Move into loop 
2
solved wrong output of this Dictionary [duplicate]