|
|
1
14
键必须实现hashcode和equals。如果是 分类地图 ,它还必须实现可比较的接口
|
|
|
2
10
我倾向于用清单
|
|
|
3
4
我知道的最简单的方法是创建一个包装类并重写hashmap和equals。例如:
当然,我建议您使用StringBuilder和其他任何方法,但是这样您就可以重写equals和hashcode,从而允许对多个键进行哈希和相等性检查。 另外,为了安全起见,我建议将对象设置为不可变(不可编辑),但这纯粹是首选项。 |
|
|
4
3
ApacheCommons集合有一个多键映射,它可能会为您提供一些技巧: 它看起来可以处理多达5个“键”。 |
|
|
5
2
你的意思是物体将由两个键,或者更确切地说,一个键由两个东西组成。 如果你想要第一个病例。也就是说,一个对象有两个键,比如一个类或一个对象,你需要使用两个映射。
在第二种情况下,您需要地图,因此:
|
|
|
6
1
您可以创建一个holder类,该类包含您想要作为键的类和字符串。
可能不是最好的解决方案,而是一种可能性。 |
|
|
7
0
我完全同意,在有些地方,人们建议创建一个包含其他类的“关键”类。我只是想加一个有用的提示。 如果您使用Eclipse或NetBeans,它们有一个很好的选择——您可以告诉Eclipse基于一个或多个成员创建Equals和HashCode方法。因此,您只需选择要检索的成员,nb就可以创建大部分需要为您编写的代码。 当然,当我只想通过一个对象检索时,我通常只将哈希代码和equal s方法委托给该对象(委托equal s可能有问题,因为这意味着您的“key holder”类中的一个类将等于它的key对象,但这很容易修复(而且通常不会影响任何东西)。 所以在我的头顶上:
这就是它的全部,如果你要求Eclipse将为你做最后两个。 顺便说一句,我知道我有公共成员,一个公共的最终成员和一个有能手的人是完全一样的——不是一个很糟糕的主意。最近,我开始在类似这样的小实用程序类上使用这种模式。如果成员不是最后一名,那就更糟了,因为这就像拥有一名二传手(这是我最近努力避免的事情)。 |
|
8
0
可以使用apache的commons collection lib解决这个问题
|
|
|
AlwaysneedsHelp · 如何减少此处使用的内存量? 2 年前 |
|
|
snake123 · 滚动到不同页面的锚点,URL中没有# 2 年前 |
|
|
Jan · 密码salt是否应存储在数据库中 2 年前 |
|
|
birb · RFC-6238 TOTP实现与示例不匹配 2 年前 |
|
|
AishaWho · 请解释res=id^(id>>>32) 2 年前 |
|
|
landings · 如何散列整数的环形缓冲区? 3 年前 |