A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

今天学了双列集合,听说和单列集合是一个算法支持的,而且单列的set好像和双列集合也有些关系,所以我很好奇1.单列list集合和双列集合有关联嘛?例如:list集合底层是不是也是双列集合支持的?对照set集合是隐藏了双列集合的值,只显示键,值列全部是自定义object对象,所以不可以存放重复元素,那么list集合是不是隐藏了键,只显示值?他的键列是new  object对象还是直接把判断键是否相同的方法改掉了?
2.对于set
集合来说,他相当于是隐藏了双列集合的值,只显示键,那么存入第二个元素时就会产生无法存入的效果,那么对于双列集合来说,当他的键一样,值不一样的时候,值是可以覆盖原值的,那么键呢?应该也是存不进去的吧?
求大神告知,谢谢。{:3_62:}

5 个回复

倒序浏览
huhemingtiancai 来自手机 中级黑马 2016-4-6 00:49:05
沙发
怎么没有人?求上天赐一个大神
回复 使用道具 举报
同求答案.新人膜拜.
回复 使用道具 举报
来人啊?没人吗?
回复 使用道具 举报
首先,List和Map之间是没有关系的.因为list不能去重复,但是存取顺序一样是依靠数据结构决定的.
其次,Set的底层确实是用Map实现的,Set确实隐藏了值,只显示键.HashSet和HashMap能去重复是因为重写了equals和hashcode方法,TreeSet和TreeMap能去重复并且排序是因为实现了comparable接口重写了copareTo()方法或者传入了比较器comparator
然后楼主对Map的理解有问题,Map的去重复和排序都只对键有效,对值无效.当键一样值会覆盖.
回复 使用道具 举报
楼上表达的很明白了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马