自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(19)
  • 收藏
  • 关注

原创 LinkedList与链表

LinkedList的官方文档LinkedList的底层是双向链表结构,由于链表没有将元素存储在连续的空间中,元素存储在单独的节点中,然后通过引用将节点连接起来了,因此在任意位置插入或者删除元素时,不需要搬移元素,效率比较高。

2024-04-27 19:50:03 936

原创 ArrayList与顺序表

ArrayList是以泛型方式实现的,使用时必须要先实例化ArrayList实现了RandomAccess接口,表明ArrayList支持随机访问ArrayList实现了Cloneable接口,表明ArrayList是可以clone的ArrayList实现了Serializable接口,表明ArrayList是支持序列化的和Vector不同,ArrayList不是线程安全的,在单线程下可以使用,在多线程中可以选择Vector或者CopyOnWriteArrayList。

2024-04-26 19:35:44 1192 1

原创 初步认识泛型

通俗讲就是:返回的Object数组里面,可能存放的是任何的数据类型,可能是String,可能是Person,运行的时候,直接转给Integer类型的数组,编译器认为是不安全的。这个问题,也是曾经的一个面试问题。在定义泛型类时,有时需要对传入的类型变量做一定的约束,可以通过类型边界来约束。在编译的过程当中,将所有的T替换为Object这种机制,称为:擦除机制。通过命令:javap -c 查看字节码文件,所有的T都是Object。方法限定符 <类型形参列表> 返回值类型 方法名称(形参列表) {

2024-04-25 19:54:26 685 1

原创 包装类&简单认识泛型

一般的类和方法,只能使用具体的类型:要么是基本类型,要么是自定义的类。如果要编写可以应用于多种类型的代码,这种刻板的限制对代码的束缚就会很大。----- 《Java编程思想》对泛型的介绍。泛型是在JDK1.5引入的新的语法,通俗讲,泛型:就是适用于许多许多类型。从代码上讲,就是对类型实现了参数化。

2024-04-24 20:09:22 798 1

原创 List的介绍

在集合框架中,List是一个接口,继承自Collection。List的官方文档站在数据结构的角度来看,List就是一个线性表,即n个具有相同类型元素的有限序列,在该序列上可以执行增删改查以及变量等操作。List中提供好的方法,具体如下(常见):注意:List是个接口,并不能直接用来实例化。如果要使用,必须去实例化List的实现类。在集合框架中,ArrayList和LinkedList都实现了List接口。

2024-04-24 19:30:49 196

原创 时间和空间复杂度

算法效率分析分为两种:第一种是效率,第二种是效率。时间复杂度主要衡量的是一个算法的运行速度,而空间复杂度主要衡量一个算法所需要的额外空间在计算机发展的早期,计算机的存储容量很小。所以对空间复杂度很是在乎。但是随着计算机行业的迅速发展,计算机的存储容量已经达到了很高的程度。所以如今已经不需要再特别关注一个算法的空间复杂度。

2024-04-22 18:00:04 717 2

原创 顺序表和链表

顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。上非连续存储结构,数据元素的逻辑顺序是通过链表中的。静态顺序表适用于确定知道需要存多少数据的场景.中间或前面部分的插入删除时间复杂度O(N)动态顺序表:使用动态开辟的数组存储。任意位置插入删除时间复杂度为O(1)没有增容问题,插入一个开辟一个空间。以节点为单位存储,不支持随机访问。静态顺序表:使用定长数组存储。空间连续、支持随机访问。

2024-04-21 20:12:34 674 1

原创 集合框架及背后的数据结构

官方教程。

2024-04-21 19:47:13 504 1

原创 String类oj

【代码】String类oj。

2024-04-14 20:40:16 291 1

原创 String类

在C语言中已经涉及到字符串,但是在C语言中要表示字符串只能使用字符数组或者字符指针,可以使用标准库提供的字符串系列函数完成大部分操作,但是这种将数据和操作数据方法分离开的方式不符合面向对象的思想,而字符串应用又非常广泛,因此Java语言专门提供了String类。字符串转整形数字字符串相加而且在面试中也频繁被问到(String、StringBuff和StringBulider之间的区别等)。

2024-04-13 20:56:56 1365

原创 图书管理系统

基于类和对象、继承和多态、抽象类和接口相关内容,完成此小项目。

2024-04-11 20:04:47 1227 1

原创 抽象类和接口(补充)

注意事项: 对于方法来说, 需要传入的数组的每个对象都是 “可比较” 的, 需要具备 compareTo 这样的能力. 通过重写 compareTo 方法的方式, 就可以定义比较规则.核心区别: 抽象类中可以包含普通方法和普通字段, 这样的普通方法和字段可以被子类直接使用(不必重写), 而接口中不能包含普通方法, 子类必须重写所有的抽象方法.Object 类中存在一个 clone 方法, 调用这个方法可以创建一个对象的 “拷贝”.Java 中内置了一些很有用的接口, Clonable 就是其中之一.

2024-04-09 18:07:36 612 1

原创 抽象类和接口

/ 矩形类System.out.println("矩形: length= "+length+" width= " + width);// 圆类:this.r = r;System.out.println("圆:r = "+r);

2024-04-08 19:37:16 737 1

原创 Java多态

重写是子类对父类非静态、非private修饰,非final修饰,非构造方法等的实现过程进行重新编写,访问权限不能比父类中被重写的方法的访问权限更低。向下转型用的比较少,而且不安全,万一转换失败,运行时就会抛异常。子类在重写父类的方法时,一般必须与父类方法原型一致: 返回值类型 方法名 (参数列表) 要完全一致。即:方法重载是一个类的多态性表现,而方法重写是子类与父类的一种多态性表现。多态体现:在代码运行时,当传递不同类对象时,会调用对应类中的方法。向上转型的缺陷:不能调用到子类特有的方法。

2024-04-02 12:20:18 1256 1

原创 Java继承<二>

父子父子肯定是先有父再有子,所以在构造子类对象时候,先要调用基类的构造方法,将从基类继承下来的成员构造完整,然后再调用子类自己的构造方法,将子类自己新增加的成员初始化完整。组合和继承都可以实现代码复用,应该使用继承还是组合,需要根据应用场景来选择,一般建议:能用组合尽量用组合。子类对象构造时,需要先调用父类构造方法,然后执行子类的构造方法。4、第二次实例化子类对象时,父类和子类的静态代码块都将不会再执行。1、父类静态代码块优先于子类静态代码块执行,且是最早执行。2、父类实例代码块和父类构造方法紧接着执行。

2024-04-01 21:01:06 1117 1

原创 Java继承<一>

上述图示中,Dog和Cat都继承了Animal类,其中:Animal类称为父类/基类或超类,Dog和Cat可以称为Animal的子类/派生类,继承之后,子类可以复用父类中成员,子类在实现时只需关心自己新增加的成员即可。由于设计不好,或者因场景需要,子类和父类中可能会存在相同名称的成员,如果要在子类方法中访问父类同名成员时,该如何操作?注意:成员方法没有同名时,在子类方法中或者通过子类对象访问方法时,则优先访问自己的,自己没有时再到父类中找,如果父类中也没有则报错。

2024-03-31 19:51:35 924

原创 Java基础题解

编写程序数一下 1到 100 的所有整数中出现。求一个整数,在内存当中存储时,二进制1的个数。

2024-03-27 15:00:55 155 2

原创 Java类和对象

类 对象

2024-03-26 15:25:05 667

原创 Java方法介绍及使用

知识点小结

2024-03-26 13:54:23 1078 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除