随笔1.0:2022

#博学谷IT学习技术支持#

个人笔记后续会进行内容改进

重载和重写的区别

重载: 发生在同一个类中,方法名必须相同,参数类型不同.个数不同.顺序不同,

方法返回

值和访问修饰符可以不同,发生在编译时。

重写: 发生在父子类中,方法名.参数列表必须相同,返回值范围小于等于父类,

抛出的异

常范围小于等于父类,

访问修饰符范围大于等于父类;如果父类方法访问修饰符为 private 则子类就不能

重写该方法。

Java 中==和 equals 的区别

== 的作用:

基本类型:比较的就是值是否相同

引用类型:比较的就是地址值是否相同

equals 的作用:引用类型:默认情况下,比较的是地址值。

特:String、Integer、Date 这些类库中 equals 被重写,比较的是内容而不是地址!

面试题:请解释字符串比较之中 “ == ” 和 equals() 的区别?

答: ==:比较的是两个字符串内存地址(堆内存)的数值是否相等,属于数值比较;

equals():比较的是两个字符串的内容,属于内容比较。

接口和抽象类的区别是什么?

实现:抽象类的子类使用 extends 来继承;接口必须使用 implements 来实现接

口。

构造函数:抽象类可以有构造函数;接口不能有。

main 方法:抽象类可以有 main 方法,并且我们能运行它;接口不能有 main 方

法。

实现数量:类可以实现很多个接口;但是只能继承一个抽象类。

访问修饰符:接口中的方法默认使用 public 修饰;抽象类中的方法可以是任意访

问修饰符

List 和 Map、Set 的区别

List 和 Set 是存储单列数据的集合,Map 是存储键值对这样的双列数据的集合;

List 中存储的数据是有顺序的,并且值允许重复;

Map 中存储的数据是无序的,它的键是不允许重复的,但是值是允许重复的;

Set 中存储的数据是无顺序的,并且不允许重复,但元素在集合中的位置是由元素

的 hashcode 决定,即位置是固定的(

Set 集合是根据 hashcode 来进行数据存储的,所以

位置是固定的,但是这个位置不是用户可以控制的,所以对于用户来说 set 中的元素还是无

序的)。

List 和 Map、Set 的实现类

Connection 接口:

List 有序, 可重复

ArrayList

优点: 底层数据结构是数组,查询快,增删慢。缺点: 线程不安全,效率高

LinkedList

优点: 底层数据结构是链表,查询慢,增删快。

缺点: 线程不安全,效率高

Set 无序,唯一

HashSet

底层数据结构是哈希表。(无序,唯一)

如何来保证元素唯一性?

依赖两个方法:hashCode()和 equals()

TreeSet

底层数据结构是红黑树。(唯一,有序)

1. 如何保证元素排序的呢?

自然排序

比较器排序

2.如何保证元素唯一性的呢?

根据比较的返回值是否是 0 来决定

l Map 接口有四个实现类:

HashMap

基于 hash 表的 Map 接口实现,非线程安全,高效,支持 null 值和 null 键, 线程

不安全。

TreeMap

能够把它保存的记录根据键排序,默认是键值的升序排序,线程不安全。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值