自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(79)
  • 问答 (5)
  • 收藏
  • 关注

原创 基数排序--数据结构和算法

基数排序

2022-02-26 16:27:07 515

原创 归并排序--数据结构和算法

归并排序 int[] arr = new int[20]; for (int i = 0; i < arr.length; i++) { arr[i] = (int) (Math.random() * 10); } int[] temp = new int[arr.length]; System.out.println(Arrays.toString(arr)); ..

2022-02-25 18:58:17 371

原创 快速排序--数据结构和算法

快速排序:是对冒泡排序的一种改进(递归),设置一个比较数,对将要排序的数据分成两部分,一部分比这个比较数小,一部分比这个比较数大,然后对这两组数据进行递归 int[] arr = new int[20]; for (int i = 0; i < arr.length; i++) { arr[i] = (int) (Math.random() * 10); } // int[] arr = ne.

2022-02-25 15:47:53 329

原创 希尔排序--数据结构和算法

目录希尔排序1.分组冒泡2.分组插入希尔排序一种插入排序(缩小增量排序)1.分组冒泡 int[] arr = new int[] { 2, 5, 8, 9, 6, 3, 1, 4, 7 }; int temp; for (int i = arr.length / 2; i > 0; i /= 2) { for (int j = i; j < arr.length; j++) {.

2022-02-24 12:12:39 504

原创 插入排序--数据结构和算法

插入排序依次寻找元素的适当位置并插入三个 for循环: // int[] arr = new int[80000]; int[] arr = new int[] { 2, 5, 8, 9, 6, 3, 1, 4, 7 }; int i; int temp; // for (int j = 0; j < arr.length; j++) { // arr[j] = (int) Math.ra.

2022-02-23 18:05:02 139

原创 选择排序--数据结构和算法

选择排序从需要排序的数据中,按指定的规则选出最大或最小值,再依次进行交换来进行排序 int[] arr = new int[] { 5, 4, 3, 2, 1 }; int temp; int index = 0; boolean b; for (int i = 0; i < arr.length - 1; i++) { b = false; temp = .

2022-02-23 15:54:03 486

原创 时间复杂度--数据结构和算法

目录排序一.分类1.内部排序2.外部排序二.时间复杂度1.常见的时间复杂度排序排序:也称排序算法(Sort Algorithm),是将一组数据按指定的顺序进行排列的过程一.分类1.内部排序指将需要处理的所有数据都加载到内存存储器中进行排序1)插入排序:①.直接插入排序 ②.希尔排序2)选择排序:①.简单选择排序 ②.堆排序3)交换排序:①.冒泡排序 ②.快速排序4)归并排序5)基数排序2.外部排序由于数据量过大无法全部加..

2022-02-21 18:39:29 283

原创 冒泡排序--数据结构和算法

冒泡排序:通过对待排序序列(从前到后或从后到前)依次比较相邻元素的值,逆序则进行交换。就像水泡一样逐渐向上冒出。(时间复杂度为 n^2 ) // 原数组 int[] i = new int[] { 1, 2, 3, 5, 4 }; int temp;// 辅助变量 boolean boo;// 辅助变量 for (int j = 0; j < i.length - 1; j++) { boo =

2022-02-21 17:58:24 170

原创 环形链表--数据结构和算法

注:环形链表添加,遍历、约瑟夫环问题public class ttt { public static void main(String[] args) { Circle c = new Circle(); for (int i = 1; i < 6; i++) { c.add(new Men(i)); } // c.add(new Men(2)); // c.add(new Men(

2022-02-20 18:48:39 133

原创 双向链表--数据结构和算法笔记

注:添加、删除、修改、遍历public class rrr { public static void main(String[] args) { DoublePLinkedList p = new DoublePLinkedList(); p.add(new Nnode(3, "111")); p.add(new Nnode(2, "333")); p.add(new Nnode(5, "333")); p.a.

2022-02-20 15:30:27 173

原创 单链表--数据结构与算法

链表是以节点的方式来存储,是链式存储public class eee { public static void main(String[] args) { PLinkedList p = new PLinkedList(); p.add(new Node(6, "zhangsan")); p.add(new Node(2, "lisi")); p.add(new Node(5, "wangwu")); p.add(

2022-02-19 19:01:14 96

原创 队列--数据结构和算法笔记

队列1.队列是一个有序列表,可以用数组或链表来实现2.遵循先入先出的原则(先存入队列的数据要先取出,后存入的后取出)数组模拟队列:import java.util.Scanner;public class www { public static void main(String[] args) { ww w = new ww(3); Scanner s = new Scanner(System.in); boolean loo

2022-02-19 15:32:10 187

原创 稀疏数组--数据结构和算法笔记

当一个数组中大部分元素为0 或者为同一个值的数组时,可以使用稀疏数组来保存该数组处理方法:1.记录数组一共有几行几列,有多少个不同的值2.把不同值的元素的行、列、值记录在另一个数组中,从而缩小程序的规模注:把一个数组转换成稀疏数组并保存到.data文件 ,再读取.data文件恢复把稀疏数组恢复为原数组import java.io.BufferedOutputStream;import java.io.BufferedWriter;import java.io.BufferedRe

2022-02-19 10:20:09 134

原创 数据结构--数据结构和算法笔记

线性结构和非线性结构一.线性结构1.线性结构作为最常用的数据结构,特点为数据元素之间存在一对一的线性关系2.线性结构有两种不同的存储结构:顺序存储结构 和 链式存储结构。①.顺序存储的线性表 为 顺序表,顺序表中的存储元素时连续的②.链式存储的线性表为链表,链表中的存储元素不一定是连续的,元素节点中存放数据元素以及相邻元素的地址信息3.线性结构常见有:数组、队列、链表、栈二.非线性结构非线性结构包括:二维数组、多维数组、广义表、树结构、图结构...

2022-02-19 10:07:52 111

原创 java 正则表达式--Java笔记

目录正则表达式一.语法1.转义符2.限定符3.选择匹配符4.分组组合和反向引用5.特殊字符6.定位符二.常用类1.Pattern2.Matcher3.PatternSyntaxException三.String正则表达式一.语法非贪心需要在后面加?整体匹配,匹配内容为整个字符串非整体匹配,匹配内容为部分字符串 String c = "12"; // 贪婪匹配 String i...

2022-01-19 20:09:39 434

原创 java JDBC之BasicDao--Java笔记

目录BasicDao相关的类BasicDao①.专门和数据交互(对数据库进行CRUD操作)②.一张表对应一个 Dao③.JavaBean == domain == pojo BasicDao bd = new BasicDao<cc>(); String sql = "select * from cc"; List<cc> i = bd.DaoList(sql, cc.class);

2022-01-19 17:26:34 262

原创 java JDBC之DBUtils--Java笔记

DBUtils①.结果集 和 connection 是关联的 ,关闭连接则不能使用结果集了②.结果集不利于数据管理(只能使用一次)③.结果集返回信息不方便④.DBUtils 是一个 JDBC 工具类,它对 JDBC进行了封装,封装了 sql 的执行,且为线程安全的,可以实现 增删改查、批处理等...

2022-01-19 16:43:16 272

原创 java JDBC之连接池--Java笔记

连接池①.使用 DriverManager 获取需要每次向数据库建立连接,都要讲 Connection 加载到内存中,再验证 ip 、用户名、密码,频繁的进行连接会占用很多资源,造成崩溃②.每一次连接后都要断开,如果出现异常未能关闭,将导致内存泄漏③.连接池预先再缓冲池放入一定数量的连接,当需要建立连接时取出即可,实用结束再放回池中④.连接池负责分配、管理和释放数据库连接,它允许程序重复使用一个连接,而不是重新建立一个连接⑤.当程序请求的连接数量大于最大连接数量时,则加入等待队列中

2022-01-19 10:56:14 1003

原创 java JDBC--Java笔记

JDBC①.JDBC 为访问不同的数据库提供了统一的接口(面向接口编程)②.JDBC 程序步骤:Ⅰ 注册驱动,加载 Driver 类 Ⅱ 获取连接,得到 Connection Ⅲ 执行增删改查操作,发送 SQL 语句 Ⅳ 释放资源,关闭相关连接二.JDBC-API1.Drive...

2022-01-18 18:21:11 785

原创 java JDBC之批处理--Java笔记

目录批处理方法:未使用批处理:使用批处理:批处理①.当需要成批执行dml 语句时②.JDBC 连接mysql 时,如果要使用批处理,需要在 url 中加参数 ?rewriteBatchedStatements=true③.批处理往往和PreparedStatement 一起使用,可以减少编译次数和允许次数,可以提高效率④.批处理创建了一个 ArrayList(object 类型的 element),按照1.5被扩容方法:1.addBatch()添加需...

2022-01-18 18:19:56 674

原创 java JDBC之事务--Java笔记

目录事务原:使用事务:未使用事务:事务①.JDBC 程序中 当一个 Connection 对象创建时,默认是自动提交事务的②.JDBC 为了让 多个 sql 语句 作为一个整体执行 需要使用事务③.调用 Connection 的 setAutoCommit(false)可以取消自动提交事务,在所有 sql 语句执行成功后调用 commit()来提交事务④.当某个操作失败时,调用 rollback()来回滚事务原:使用事务: Cl

2022-01-18 16:54:56 75

原创 mysql 用户管理--MySQL笔记

用户管理①.mysql 中的用户 都存储再系统数据库 mysql 中的 user 表中②.host:允许登录的位置。localhost 表示该用户只允许本机登录,也可以指定 ip 地址③.user:用户名④.authentication_string:密码管理操作1.创建用户create user 用户名 @ 允许登录的位置 identified by 密码2.删除用户drop user 用户名 @ 允许登陆的位置3.修改用户密码修改自己...

2022-01-12 16:24:00 304

原创 mysql 视图--MySQL笔记

视图①.是一个虚拟表,其内容来自对应的 基表,视图是根据基表(可以是多个基表)来创建的②.视图也有列,通过视图可以改变基表的数据,基表的改变也会影响到视图的数据③.创建视图后会产生一个后缀为.frm的文件④.视图中可以再使用视图特点:1.安全:一些数据很重要,有些字段是不能轻易给别人看的,这时就可以创建一个视图,在这张视图上只保留一部分字段2.性能:关系数据库的数据常常会分表存储,使用外键来建立连接关系。这时数据库查询会用到连接(join),这样会很麻烦,效率相对较低。此时建立一

2022-01-12 15:24:25 210

原创 mysql 事务--MySQL笔记

事务①.事务用于保证数据的一致性,它由一组dml 语句组成,这一组语句要么全成功,要么全失败②.如果不开始事务,默认情况下,操作是自动提交的,不能回滚③.如果开始一个事务,没有创建保存点,执行 rollback 后默认 回退到 事务开始的阶段④.可以在事务没提交时创建多个保存点 和 回退到某个保存点⑤.mysql 事务机制需要 在 innodb 的存储引擎一.事务操作的语句1.start transaction 开始一个事务2.savepoint 设置保存点保存点

2022-01-12 11:45:27 384

原创 mysql 索引--MySQL笔记

索引①.索引会占用一些空间②.查询较频繁的字段应该创建索引③.唯一性太差的字段不适合创建索引④.更新非常频繁的字段不合适创建索引⑤.不会出现在 where 语句中的字段不应该创建索引索引的类型1.主键索引(primary)添加主键索引 和 删除主键索引2.唯一索引(unique)createunique index 索引名 on 表名(列名)3.普通索引(index)①. 添加索引加上索引的速度:CREATE...

2022-01-11 17:53:17 260

原创 mysql 约束--MySQL笔记

​​​​​​​

2022-01-11 17:06:19 96

原创 mysql 函数--MySQL笔记

目录DUAL :亚元表一.一般函数1.count 返回行的总数2.sum 返回和3.avg 平均数4.max 和 min 最大值和最小值二.字符串相关函数三.数学相关函数四.时间日期相关函数五.加密和系统函数六.流程控制函数DUAL :亚元表一.一般函数CREATE TABLE cc ( id INT, nname CHAR(4), num INT);INSERT INTO cc VALUES (1,'a',10), .

2022-01-11 15:58:01 361

原创 mysql CRUD--MySQL笔记

C(create)R(read)U(update)D(delete)表定义为由 id 和 name 两个字段一.C:insert语句(添加)INSERT INTO aa VALUES (1,'张三')输出:注:①.插入的数据应与字段的数据类型相同,并且长度必须在规定的范围内②.在values 中列出 的数据位置必须与 列的排列位置相对应③.字符和日期类型数据应包含在单引号中④.列可以插入空值(创建字段时设置允许为空)⑤.可以一次性添加 多条数据⑥.

2022-01-10 20:06:52 134

原创 mysql 数据类型--MySQL笔记

一.数值类型1.整型①.数值型分为带符号的和无符号的(unsigned),默认为有符号的CREATE TABLE a( i INT, ii INT UNSIGNED);②bitbit 使用字段时,按照位的方式显示,,值只有0或者1时 用 bit(1)可以节约空间2.小数类型二.文本类型三.二进制类型四.日期类型...

2022-01-10 12:27:24 403

原创 mysql 表操作--MySQL笔记

1.创建表:CREATE TABLE:创建表character set :字符集、collate:校对规则engine:引擎field:指定列名datatype:指定列类型

2022-01-08 17:21:01 478

原创 mysql数据库操作--Mysql笔记

目录1.创建数据库:2.查看数据库:3.删除数据库:4.备份数据库:1.创建数据库:CREATE DATABASE:创建数据库(名字是关键字的话需要加反引号才能创建)CHARACTER SET:指定数据库采用的字符集COLLATE :指定数据库字符集的校对规则默认为:2.查看数据库:SHOW DATABASE:SHOW CREATE DATABASE:3.删除数据库:DROP DATABASE:删除数据库4.备份数据库:..

2022-01-03 18:05:35 304

原创 MySql8.0.27安装并修改密码--MySql笔记

安装指令:mysqld -install生成Date 文件指令:mysqld -initialize-insecure --user=mysql启动 mysql 服务:net start mysql关闭 mysql 服务:net stop mysql管理员身份进入 mysl:mysql -u root -p删除已经安装好的 mysql:sc delete mysql...

2022-01-03 12:48:53 1200

原创 java 反射--Java笔记

一.反射1.机制①.在不修改源码的情况下来控制程序②.在反射中可以把方法视为对象③.反射允许程序在执行时借助 Reflection API 来取得任意类的内部信息(变量、方法、构造器等),并能操作对象的属性及方法④.加载完类之后,会产生一个 Class 类型的对象(一个类只有一个),这个对象包含了类的完整结构信息,通过这个对象得到类的结构,称之为反射2.反射机制可以完成:①.在运行时判断任意一个对象所属的类②.在运行时构造任意一个类的对象③.在运行时得到和调用任意一个

2022-01-02 11:55:07 470

原创 java 网络编程--Java笔记

一.网络1.网络①.网络:两台或多台设备通过一定物理设备连接起来构成了网络。网络分为局域网:覆盖范围最小,一个教室或机房城域网:覆盖范围较大,一个城市广域网:覆盖范围最大,一个国家甚至一个星球(万维网)②.网络通信:两台设备之间通过网络实现数据传输,将数据从一台设备传输到另一个设备,(java.net包)2.ip①.ip地址:标识网络中的每一台计算机。127.0.0.1为本机地址②.IP地址的表示形式为:点分十进制 x.x.x.x,每个数范围:0--255

2022-01-01 11:35:52 356

原创 java IO流 --Java笔记

一.文件保存数据的地方,文件在程序中是以流的形式来操作的①.流:数据在文件和程序之间经历的路径②.输入流:数据从文件到程序的路径③.输出流:数据从程序到文件的路径1.常用的文件操作①.创建文件对象的构造器createNewFile():创建新文件 new File("e://aaaaa.txt").createNewFile(); new File("e://", "bbbbb.txt").createNewFile();

2021-12-28 18:08:29 213

原创 java线程--Java笔记

线程进程:指运行中的程序,进程是程序的一次执行过程(正在运行的一个程序)线程:线程由进程创建,一个进程可以拥有多个线程①.单线程:同一个时刻,只执行一个线程②.多线程:同一个时刻,执行多个线程(同时下载歌曲、视频)③.并发:同一个时刻,多个线程交替执行(开车时打电话,其实是大脑在切换)④.并行:同一个时刻,多个线程同时执行(一边上厕所一边玩手机)一.线程的使用1.继承 Thread 类,重写 run() 方法一个类继承Thread 类,该类就可以当作线程使用,重写..

2021-12-27 15:28:54 268

原创 java泛型--Java笔记

一.泛型①.泛型又称参数化类型,用于解决数据类型的安全性问题②.在类声明或实例化时指定需要的类型即可③.使代码更加简洁④.泛型可以通过一个标识来表示类中的 某个属性的类型、某个方法返回值的类型、参数类型1.泛型 的语法①.声明2.泛型的优点①编译时检查元素的类型,提高了安全性②.减少了类型转换的次数,从而提高效率③.不再提示编译警告二.自定义泛型1.泛型类2.泛型接口3.泛型方法三.泛型继承和通配符.

2021-12-23 16:31:26 276

原创 java集合Collections和集合选择--Java笔记

目录一.如何选择集合二.Collections 工具类Collections方法1. 1--52. 6--10一.如何选择集合二.Collections 工具类①.Collections 是一个操作 List、Set、Map等集合的工具类②.Collections 中提供了一系列静态方法对集合元素进行 排序、查询、修改、删除等操作Collections方法1.reverse()反转 List 元素 2.shuffle()对 List 集合元素进行随

2021-12-22 18:11:51 508

原创 java集合之实现Map接口的类--Java笔记

Map接口常用实现类一.HashMap①.HashMap 是 Map 接口使用频率最高的类②.HashMap是以 Key-value 的方式来存储数据的③.Key 是不可以重复的且只能存放一个null,val 可以重复可以存放多个null④.添加相同的 Key,会覆盖原来的 Key-value⑤.HashMap 是线程不安全的HashMap的扩容机制①.HashMap 底层为一个Node类型的数组 table ,默认为null②.当添加元素时,先通过Key的hash.

2021-12-22 17:02:31 711

原创 java集合之Map接口--Java笔记

目录一.Map接口的特点二.Map接口的常用方法1.1--52.6--10一.Map接口的特点①.用于保存具有映射关系的数据(key - Value)②.key - Value可以是任何类型的数据,会封装到 HashMap$Node 中③.Map 中的 key 不可以重复 ,Value可以重复④.Map 的 key 只能有一个 null ,Value 可以有多个⑤.常用 String 类来作为 Map 的 kay⑥.key - Value 之间存在 一对一..

2021-12-20 16:19:11 439

空空如也

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

TA关注的人

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