黑马程序员技术交流社区

标题: hashMap和treeMap的区别 [打印本页]

作者: Forevery    时间: 2013-12-9 18:05
标题: hashMap和treeMap的区别
何时该用hashMap何时该用treeMap?

有时候觉得要处理一个事件,两个方法都可以达到想要的效果,有点区分不开各自的优势
作者: Crist    时间: 2013-12-9 18:10
HashMap    保证 元素唯一
   需要重写 HashCode  equals 底层数据结构是是哈希表
TreeMap    保证元素有序
底层数据结构是 二叉树
方法一  comparator
方法二 实现Comparable  用里面的compareTo();

作者: 代文娟    时间: 2013-12-9 18:13
hashMap底层是哈希表,存入的元素不能重复,但是没有顺序。
TreeMap底层是二叉树结构,存入的元素不能重复,但是他会按照自然顺序进行排序
实际上最大的区别是一个排序,一个不排序。根据你的需求可以来选择。
作者: .Mr    时间: 2013-12-9 21:22
首先:
HashMap : 内部结构是哈希表,不是同步的。允许null作为键,null作为值。
               哈希表是要保证唯一性。是通过HahCode和equals方法来确定的
TreeMap : 内部结构是二叉树,不是同步的。可以对Map集合中的键进行排序。
                排序使用两个接口Comparable,Comparator 。
最后,可以看到你想使用的功能去确定用哪个接口。想保证唯一不重复可以是HashCode,想要排序,又想实现自己认可的排序方式就用TreeMap




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2