Set HashSet内部维护的其实就是一个HashMap,只是只存储key值,而没有value。因此也是基于 数组 + 单向链表的结构。LinkedHashSet内部维护的其实是一个LinkedHashMap,因此是数组 + 单向链表 + 双向链表的结构。TreeSet内部维护的其实是一个TreeMap,因此是平衡二叉树的数据结构。