set三个子类的底层其实都是Map的。我们也知道Map是key-value键值对出现的。我们也知道,set添加方法是set.add(“1”)。参数只有一个,不是键值对的,那么底层Map怎么存储的呢? TreeSet的构造方法
从源码中,我们可以看到,把传递的参数作为key处理的。那么,value又是什么呢?
PRESENT是什么呢?
其实就是new了个object对象。
问题来了:set为什么不能不能存放重复值,而list就可以了呢?
从上面add的源码中,我们可以看出,add的数据是作为map的key来存放的。在Map中,Key是不能重复的。所以,set里面的数据不能有重复的