关注
一、Redis 数据类型
1. 字符串(string):可以存储任何类型的字符串,如文本、数字等。可以进行自增自减等操作。
2. 哈希(hash):类似于 Python 的字典,存储键值对集合。适合存储对象信息。
3. 列表(list):按照插入顺序排序的字符串元素集合。可以进行从两端的插入和弹出操作。
4. 集合(set):无序的、不重复的字符串元素集合。支持交集、并集、差集等操作。
5. 有序集合(sorted set):每个元素都关联一个分数,可以按照分数进行排序。常用于排行榜等场景。
二、Redis 跳表
Redis 的有序集合(sorted set)是通过跳表实现的。跳表是一种可以替代平衡树的数据结构,具有以下特点:
1. 插入、删除、查找操作的时间复杂度均为 O(log n),与平衡树相当。
2. 实现相对简单,比起平衡树更易于理解和实现。
3. 可以在不同层次进行快速的遍历和查找,提高了查找效率。
三、抽象类和接口类区别
1. 定义:
- 抽象类是用 abstract 关键字修饰的类,可以包含抽象方法和具体方法。
- 接口是用 interface 关键字定义的,只包含抽象方法和常量。
2. 继承:
- 类只能单继承抽象类,但可以实现多个接口。
3. 方法实现:
- 抽象类可以有部分方法的具体实现,子类可以继承这些实现或者重写它们。
- 接口中的方法都是抽象的,实现接口的类必须实现所有的方法。
4. 变量:
- 抽象类可以包含成员变量,既可以是普通变量也可以是静态变量。
- 接口中只能定义静态常量。
四、重载和重写,子类能否对父类重载重写
1. 重载(Overload):是在同一个类中,方法名相同,但参数列表不同(参数类型、参数个数、参数顺序不同)。子类不能对父类进行重载,因为重载是在同一个类中的概念。
2. 重写(Override):子类继承父类,子类中的方法与父类中的方法具有相同的方法名、参数列表和返回类型,并且子类方法的访问权限不能小于父类方法的访问权限。子类可以对父类进行重写。
查看原帖
3 评论
相关推荐
查看7道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客吐槽大会 #
25823次浏览 324人参与
# 工作前VS工作后,你的心态变化 #
38584次浏览 267人参与
# 秋招想进国企该如何准备 #
125515次浏览 617人参与
# 你的mentor是什么样的人? #
51665次浏览 741人参与
# 从mentor身上学到了__ #
55691次浏览 886人参与
# 我和mentor的爱恨情仇 #
106763次浏览 969人参与
# 我的省钱小妙招 #
37637次浏览 446人参与
# 机械人避雷的岗位/公司 #
44970次浏览 320人参与
# 在大厂上班是一种什么样的体验 #
15472次浏览 225人参与
# 为了减少AI幻觉,你注入过哪些设定? #
7875次浏览 217人参与
# 职场上哪些行为很加分? #
323270次浏览 3619人参与
# 通信/硬件求职避坑tips #
140049次浏览 1087人参与
# 论秋招对个人心气的改变 #
16460次浏览 251人参与
# 你觉得mentor喜欢什么样的实习生 #
48805次浏览 1002人参与
# 你现在会用到哪些AI技能? #
24874次浏览 137人参与
# 牛客AI体验站 #
9584次浏览 230人参与
# 毕业论文进行时 #
27747次浏览 153人参与
# 运营来爆料 #
77497次浏览 467人参与
# 程序员找工作至少要刷多少题? #
24644次浏览 316人参与
# 过年最难忘的一件事 #
23374次浏览 179人参与