黑马程序员技术交流社区

标题: HashSet和HashMap能排序吗?他俩有什么异同点呢? [打印本页]

作者: 苏乞儿    时间: 2014-9-17 22:05
标题: HashSet和HashMap能排序吗?他俩有什么异同点呢?
学集合了,什么去除重复元素,什么排序。。。。都一锅粥了。。
HashSet和HashMap能排序吗?他俩有什么异同点呢?
继承Comparable借口和自定义比较器,能用到Map集合上面吗?

作者: sean    时间: 2014-9-17 22:26

HashSet和HashMap的共同点就是他们底层数据结构都是哈希表的数据结构
不同的是:HashMap储存键值对,HashSet仅仅存储对象

回答的很粗糙,希望能帮助你对集合的理解有一点点作用。

作者: 苏乞儿    时间: 2014-9-17 22:36
sean 发表于 2014-9-17 22:26
HashSet和HashMap的共同点就是他们底层数据结构都是哈希表的数据结构
不同的是:HashMap储存键值对,HashS ...

嗯啊,谢谢!
作者: mengzi987    时间: 2014-9-18 10:34
简单的来说就是:HashMap :实现map接口;使用hash算法,里面的数据是无序的;并且存储的是键值对;非线程安全;  HashSet :实现了Set接口;内部封装了hashmap,故也是无序的;因为实现set接口,存储的是key,value永远为PRESENT;非线程安全;
作者: daoqin    时间: 2014-9-18 10:45
看源码,你自己就懂了
作者: 苏乞儿    时间: 2014-9-18 23:25
mengzi987 发表于 2014-9-18 10:34
简单的来说就是:HashMap :实现map接口;使用hash算法,里面的数据是无序的;并且存储的是键值对;非线程 ...

好像没有回答我的问题哦。。。。:'(
作者: 谢建平    时间: 2014-9-19 05:40
HashSet   这个是不能排序的  就算有也是内部默认的排   我们控制不了   
HashMap 能自己定义 自然排序,元素继承Comparable或者创建集合时传入比较器都行


继承Comparable借口和自定义比较器,用也是用在TreeMap 上的    TreeMap 比较的是键   
作者: 苏乞儿    时间: 2014-9-19 22:39
谢建平 发表于 2014-9-19 05:40
HashSet   这个是不能排序的  就算有也是内部默认的排   我们控制不了   
HashMap 能自己定义 自然排序, ...

嗯。知道了,谢谢。
作者: pvting    时间: 2014-9-19 23:11
集合很重要,好好学




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