HashMap中使用object的一个键多个值

时间:2012-12-17 14:10:48

标签: java hashmap

如果我想“id”是关键,“name”,“phoneNumber”,“eamil”是值。

public class Personal {

    private int id;
    private String name;
    private int phoneNumber;
    private String email;

    public Personal(int id){
        this.id = id;
    }

    //getter and setter here
}

输入多人数据后。我可以通过id获取数据。

output ex: map.get(100001); // [Dan, 123456, Dan@gmail.com]
           map.get(100002); // [Kim, 123343, Kim@gmail.com] 
           ...

问题:实现此HashMap的最佳方法是什么?

非常感谢!

1 个答案:

答案 0 :(得分:8)

如果ID是唯一的并且设置在一起,您可以使用:

Map<Integer,Personal> map = new HashMap<Integer,Personal>();

添加对象p

map.put(p.getId(), p);

然后

map.get(100001);

将返回相应的对象。

如果ID可以重复或可以更改,事情会变得更复杂。如果是这种情况,请解释您的确切要求,以便我们进一步提供帮助。