set为什么不能存储重复值
Posted zhuyeshen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了set为什么不能存储重复值相关的知识,希望对你有一定的参考价值。
set的两个主要实现类,TreeSet和HashSet,底层存储结构都是用的map,而且是将set需要存储的值放在map的key里的,PRESENT是一个空的object对象。
map每次put如果key值不存在,返回的是null,key值如果存在,则返回之前key的oldValue,这样与null做对比的时候返回的就是false,在set层面就是插入重复值失败了
以上是关于set为什么不能存储重复值的主要内容,如果未能解决你的问题,请参考以下文章
[转]Set 里的元素是不能重复的,那么用什么方法来区分重复与否呢?是用==还 是 equals()?它们有何区别?