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]