今天看啥  ›  专栏  ›  程序员好物馆

Redis中Set底层跟Java一样吗?

程序员好物馆  · 公众号  ·  · 2024-08-21 09:00

文章预览

作者 | 江南一点雨 来源 | 江南一点雨 Redis 几种常见的数据类型底层原理,前面跟小伙伴们已经扒了 String 和 List 了,今天我们再来看看 Set。 一 Java 里的 Set 从体验上来说,Redis 里边的 Set 有点像 Java 里的 Set,使用感觉差不多也是这个样子。 都是唯一,都是无序。 不过小伙伴们知道,我们 Java 里边的 Set,几种不同类型的 Set 底层都不约而同的指向了 Map。 HashSet 底层使用的是 HashMap (实际上是一个专门的 IdentityHashMap ),其中元素作为 key,对应的 value 通常是一个固定的对象(例如, PRESENT 对象),以此来实现元素的去重。 HashSet 提供了非常快的插入、删除和查找操作,平均时间复杂度为 O(1),但不保证元素的顺序。 TreeSet 底层使用的是 TreeMap ,它是一个红黑树实现的有序映射。 TreeSet 中的元素会被排序,排序依据可以是自然顺序(通过实现 Comp ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览