自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 数据结构:泛型和反射

文章目录一.泛型1.1什么是泛型1.2泛型方法和使用1.3泛型接口1.4通配符1.5类型擦除二.反射2.1什么是反射2.2反射相关的类一.泛型1.1什么是泛型泛型:定义时没有明确参数的类型,使用时明确类型,看到=>泛型的定义,只有<>泛型操作符,不一定看到T就是泛型方法,只是使用了反省的普通方法守门员,编译阶段检查了类型是否一致,避免了向下转型的强制类型转换的出错问题泛型类:T和E称为类型参数,占位符class MyClass<单个大写字母,T,E,…>{T v

2022-05-31 11:31:05 183 2

原创 数据结构:排序

文章目录一.概念1.1排序1.2稳定性1.3,内部排序和外部排序二.基础排序算法2.1选择排序2.2插入排序一.概念1.1排序排序就是使一串记录,按照某个或某些关键字的大小,递增或递减排列起来的操作。平时的上下文中,如果提到排序,通常指的是排升序(非降序)通常意义上的排序,都是指的原地排序(in place sort)原地堆排序:不开辟额外的数组空间进行的排序升序和降序严格升序(不包含重复元素):数字有小到大依次排列i1<i2非降序:前一个元素<=后一个元素在指定的集合中,若

2022-05-31 08:37:57 731 2

原创 数据结构:JDK源码分析

文章目录一.回到Object万物之母二.JDK的源码分析2.1 HashMap的源码一.回到Object万物之母此时要将Student对象存储到HashMap的key上。1.计算Student对象的哈希值,得到一个数组的索引下标hashCode()2.判断当前这个Student对象是否已经在哈希表中存在了。是否是相同的key值=>equals>class Student{int age;String name;}equals相同的两个对象 = 》hashcode是否应该相同

2022-05-27 08:57:09 525 1

原创 数据结构:搜索树

文章目录一.搜索树1.1什么是搜索树1.2搜索树特点1.3二分搜索树核心操作一.搜索树1.1什么是搜索树基础二叉树主要是做题,基础二叉树的衍生结构在实际工程中有着广泛的应用堆=>完全二叉树AVL,RBTree,B树=》搜索树BST:二分搜索树,二叉搜索树,二叉排序树1.2搜索树特点1.也是个二叉树2.每个树的左子树的所有节点值<树根节点<所有右子树的节点值(当前树中的所有子树仍然遵循这个规则)KDK中的BST,不存在重复节点3.存储的节点必须具备可以比较的能力(要么实

2022-05-21 10:38:07 1931 1

原创 数据结构:Map和Set

文章目录一.Map和Set1.1主要的数据结构1.2Set集合的基础使用1.3Map集合的基础使用1.4关于Map接口常见子类的添加问题1.5关于保存null值的说明一.Map和Set1.1主要的数据结构Set:其实就是披着Set外衣的Map也是Collection接口的子接口,一次保存一个元素,和List集合最大的区别在于List集合保存的元素不能重复。Set:使用Set集合来进行去重处理只要是Collection的子类都能使用for-each进行遍历1.2Set集合的基础使用Set集合

2022-05-21 10:37:45 199 1

原创 数据结构:优先级队列(堆)

文章目录一.一.

2022-05-19 10:56:52 185 1

原创 数据结构:二叉树

文章目录一.树1.1什么是树1.2为什么会存在树1.3关于树的基础概念二.二叉树2.1什么是二叉树2.2二叉树的性质:2.3常见的二叉树2.4关于完全二叉树的编号问题2.5二分搜索树2.6平衡二叉树2.7二叉树的遍历问题一.树1.1什么是树树:高效的查找与搜索语义1.2为什么会存在树例如企业管理企业中的员工的分类其实就是一个树结构如果是一个线性结构,所有人都在一个目录中,比如当前公司中一共有300号员工,要找到一个特定的员工,最坏情况下得找00次,O(n)如果现在是一个树结构,按照员工的职级

2022-05-17 09:03:13 96 2

原创 数据结构:栈和队列

文章目录一.栈和队列1.1什么是线性表1.2什么是栈和队列一.栈和队列1.1什么是线性表一次保存单个同类型元素,多个元素之间逻辑上连续数组,链表,栈,队列,字符串(内部就是字符数组char[])1.2什么是栈和队列栈和队列其实是操作受限的线性表。之前的数组也罢,链表也罢,既可以在数组的头部插入和删除,也可以在数组的尾部插入和删除,甚至在任意位置都可以插入和删除。栈和队列只能在一端插入元素,和删除元素栈:水杯1.只能从一端插入元素,也只能从这一端取出元素(栈顶)将12345一次添加到栈

2022-05-11 12:25:01 120 1

原创 JAVA集合框架初识

文章目录一.集合框架1.1什么是集合框架二.List-线性表的父接口2.1什么是List2.2List方法2.3List的使用三.图书管理系统项目一.集合框架1.1什么是集合框架所谓的集合就是为了保存和操作数据的一些类Collection:线性表集合,保存单个同类型元素ArrayList:动态数组LinkedList:双向链表Map:键值对集合,保存一对元素键值对,映射关系,键-key,值-valuekey不重复value重复例如:身份证号key姓名valueHashMap:哈希

2022-05-10 09:42:34 98 1

原创 JAVA基础语法:泛型

文章目录一.泛型1.1什么是泛型1.2泛型的使用1.3多个类型参数的使用一.泛型1.1什么是泛型point{x:y:}x = 10,y = 20;x = 10.1, y = 20.2;x = “东经15度”,y=“北纬39度”JAVA强类型语言,在定义x和y时候必须强制定义变量类型,所以可以把x和y定义为Object类当用户不小心输入的x和y是不同类型时,编译是没问题的,但是在下面取出x和y的值时,强制类型转换就会报错,运行时异常一般来说,我们要求把所有的错误都提前暴露在编译阶段,

2022-05-09 10:25:13 378 1

原创 JAVA基础语法:包装类

文章目录一.包装类1.1什么是包装类1.2包装类的使用一.包装类1.1什么是包装类包装类就是把八大基本类型封装到类之中。a.Object接受所有引用数据类型(数组,类,接口),为了让Object类可以接收java中一切东西,引入包装类,把基本类型的数值封装到类的对象之中就产生了包装类b.基本类型默认值其实在很多场景下会造成误导,引用类型的默认值就是nullJDK中包装类-有以下八种数值型包装类(Number的子类)有以下六种a.整型:(byte<short<int<long

2022-05-09 09:17:37 255 1

原创 JAVA基础语法:认识异常

文章目录一.认识异常1.1什么是异常1.2异常的基本语法一.认识异常1.1什么是异常异常:程序没按照预计的结果运行,在运行的过程中发生了“错误”1.2异常的基本语法try{//可能会产生异常的代码,除0异常,数组越界,空指针等}[catch…0…n]{//出现异常以后如何处理}[finally]{//异常的出口,最终会执行的代码块}1.程序中不处理异常,发生异常之后的代码就不再执行2.使用try…catch…处理异常3.java中一切都是类,异常其实也是类,依次Catch代码

2022-05-09 08:30:09 164 1

原创 JDK常用接口&String类

文章目录一.Object类1.1什么是Object类1.2Object使用方法二.JDK常用接口2.1接口的使用2.2JDK内置的常用接口一.Object类1.1什么是Object类在java中万物之母Object类全名称:包名.类名 java.lang.Object1.2Object使用方法1.Object类是java中所有类的默认父类,无需使用extends来定义。class声明的类都有一个父类,Object类因为Object类是所有类的父类,使用Object引用来接受所有的类型,参数

2022-05-08 10:37:07 330 2

原创 面向对象编程:抽象类和接口

文章目录一.抽象类1.1 什么是抽象类1.2抽象类的使用二.接口2.1接口的概念2.2接口的使用一.抽象类1.1 什么是抽象类若强制要求子类覆写方法,用到抽象类。现实生活中,有很多的抽象类,这些类都是一个概念化的,没发具体到某个实例,描述这一类对象共同的属性和行为。人类->抽象,没法对应到具体某个或某一类人,例如中国人,日本人,印度人。抽象类是普通类的超集,只是比普通类多了一些抽象方法而已[0…N],抽象方法所在的类必须是抽象类,子类若继承了抽象类,必须覆写所有抽象方法(前提,子类是普通类

2022-05-06 10:05:50 231 1

原创 面向对象编程:关于类的访问修饰符

文章目录一.类的访问修饰符二.包的导入一.类的访问修饰符从小到大依次为:private(私有,当前类的内部可见)< default(啥也不用写就是包权限,当前包的内部可见,不包含子包,同级目录下可见)<protect(继承权限,不同包的有继承关系的类之间可见)<public(当前项目可见)java中的包就对应操作系统的文件夹声明一个包使用package关键字若存在多个文件夹的嵌套,使用“.”来分隔package www.bit.java.rocketclass有几个点创造几个

2022-04-29 12:03:03 788 1

原创 数据结构及算法:双向链表

文章目录一.双向链表的意义二.双向链表的使用1.头插法一.双向链表的意义单链表:单向链表,默认只能从链表的头部遍历到链表的尾部,实际中的应用很少见,太局限,只能从头遍历到尾部。双向链表:对于该链表中的任意节点,即可通过该节点向后走,也可以通过该节点向前走。双向链表实际工程中应用非常广泛,是使用链表这个结构的首选。二.双向链表的使用1.头插法...

2022-04-26 14:37:35 1012 1

原创 数据结构及算法:动态数组及链表

文章目录一.循序表和链表1.线性表二.动态数组1.什么是动态数组2.添加方法3.查4.修改5.删除一.循序表和链表1.线性表线性表是n个具有相同元素的有限序列,线性表是一种实际中广泛使用的数据结构,常见的线性链表:循序表(数组),链表,栈,队列,字符串。也就是多个相同数据类型的元素逻辑上呈直线排列,逻辑上连续。逻辑连续:1号元素在2号元素之前,2号元素在1号元素之后,这种先后循序指的逻辑上的先后,物理上不一定连续(存储时,不一定就是1在2的前面,不是连续存储),比如链表。二.动态数组1.什么是动

2022-04-24 15:23:11 834 1

原创 数据结构及算法:时间和空间复杂度

文章目录一.时间和空间复杂度分析1.算法效率2.时间复杂度2.空间复杂度一.时间和空间复杂度分析1.算法效率算法效率分析分为两种:第一种时间效率,第二种空间效率,时间效率被称为时间复杂度,而空间效率被称为空间复杂的,时间效率主要是衡量一个算法的运行速度,而空间复杂度是衡量一个算法所需要的额外空间,在计算机发展早期,计算机的存储容量很小,所以对时间复杂度很是在乎,但经过计算机行业的迅速发展,计算机的容量已经到达了很高的程度,所以如今我们已经不需要的别关注一个算法的空间复杂度。为了估算一个算法的耗时情况

2022-04-18 11:09:49 307 1

原创 JAVA基础语法:类和对象

文章目录一.类与对象1.类和对象的概念2.类和对象的关系3.创建类的语法4.创建对象的语法5.关于引用数据类型的特殊值null一.类与对象1.类和对象的概念类是一个抽象概念,如:人类。猫类,犬类=》无法具体到某个实体。对象是某个类的一个实体,当有对象之后,这些属性就有了属性值,这些行为就有了相应的意义。2.类和对象的关系类是来描述这类对象的统称。对象是这个类的一个实例而已。这一类对象所具备的共同属性和行为(方法)都在类中定义。类相当于一个蓝图,一个范本,抽象的概念,有类之后我们就能根据类来

2022-04-16 12:18:15 1011 1

原创 JAVA基础语法:数组

文章目录一.数组的基本用法1.什么是数组2.数组的创建与初始化3.数组的使用4.如何遍历数组5.数组和字符串的转换二.数组和方法的关系1.数组作为方法的参数三.关于引用数据类型的理解问题1.实参与形参2.引用3.栈4.堆四.实战演练1.找出数组最大值2.求数组的平均值3.查找一个数组中是否包含指定元素4.二分查找5.判断数组是否有序(默认升序)一.数组的基本用法1.什么是数组数组的本质上就是我们能“批量”创建相同类型的变量,也就是以此定义N个相同数据类型的变量,我们就把这种结构称之为数组。2.数组的

2022-04-14 12:46:08 857 1

原创 JAVA基础语法:方法的定义与使用

文章目录一.方法的基本用法1.什么是方法(函数)2.方法的定义语法3.方法的调用4.实参与形参的关系5.没有返回值的方法二.方法的重载一.方法的基本用法1.什么是方法(函数)方法就是一个代码片段,类似于C语言中的“函数”。方法存在的意义a.是能够模块化的组织代码(当代码比较复杂的时候)b.做到代码被重复使用,一份代码可以在多个位置使用c.让代码更好理解更简单d.直接调用现有方法开发,不必重复造轮子2.方法的定义语法public static 方法返回值 方法名称(方法的参数。。[0…N]

2022-04-13 11:08:12 499 1

原创 JAVA基础语法:程序结构和方法

文章目录一.循序结构二.分支结构1. if语句1.1 只有if语句1.2 if..else分支1.3 if..[else if 0...N]..else多分支语句1.4 分支语句的嵌套2. switch分支(基于JDK8)三.循环结构1. while 循环2. 循环中的break和continue3. for循环四. 系统输入输出1.系统输出2.系统输入(Scanner类)一.循序结构1.单线程下按照代码的书写顺序一行一行向下执行二.分支结构满足不同的情况会执行不同的语句1. if语句1.1

2022-04-12 14:31:54 582 1

原创 JAVA基础语法:数据类型及运算符

文章目录一、变量和数据类型1、数据类型1.1整型变量1.2长整型变量1.3浮点型变量1.4字符型变量1.5布尔型1.6字符串类型变量一、变量和数据类型1、数据类型Java属于强数据类型的语言,定义一个变量时,这个变量在之后赋值的过程中,只能赋值为相应的类型。1.1整型变量int:使用int关键字定义一个整形变量此时声明一个变量,他的类型是int型,并且初始化变量a的值为10在变量定义是可以不赋值,但是一般推荐定义变量时赋予初始化值。1.2长整型变量long:使用long关键字定义一个长整

2022-04-12 00:03:38 845 2

空空如也

空空如也

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

TA关注的人

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