手记

HashMap和TreeMap中的Key使用自定义类时

  1. 如果HashMap中的key使用的是自定义的类对象,那么需要遵守equals()与hashCode()规范. 默认的 hashCode() 方法实现对每个不同的对象返回不同的整数. 默认的 equals() 方法只比较两个引用是否指向同一个实际对象.

  2. TreeMap是根据key排序的: 因为TreeMap是按Key来排序的,那么Key对象必须可以和另一个Key对象作比较,因此必须实现Comparable接口。
    可以使用String对象作为Key,因为String已经实现了Comparable接口。

  3. 自定义类要重写equals方法来进行等值比较,自定义类要重写compareTo方法来进行不同对象大小的比较,重写hashcode方法为了将数据存入HashSet/HashMap/Hashtable类时进行比较
1人推荐
随时随地看视频
慕课网APP