全部评论
boss,***
boss,***
牛客实习广场。向宇同桌,不用谢。
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
一笑而过2222:一、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):子类继承父类,子类中的方法与父类中的方法具有相同的方法名、参数列表和返回类型,并且子类方法的访问权限不能小于父类方法的访问权限。子类可以对父类进行重写。
查看30道真题和解析
点赞 评论 收藏
分享