在地图中使用自定义类作为键

时间:2012-11-10 19:46:46

标签: java map

自定义类需要实现哪些方法(如果有)才能在Map中用作

2 个答案:

答案 0 :(得分:5)

这取决于你的地图类型:

  • HashMap的密钥必须提供hashCodeequals
  • TreeMap的密钥需要通过实施compareTo来提供Comparable<T>,除非地图是使用Comparator构建的,在这种情况下,密钥本身没有任何限制。

答案 1 :(得分:1)

如果你想使用TreeMap,你的类必须实现Comparable。如果您使用的是HashMap,则需要一个良好的哈希函数。