摘要: 平衡二叉树,是一种二叉排序树,其中每个结点的左子树和右子树的高度差至多等于1。它是一种高度平衡的二叉排序树。高度平衡?意思是说,要么它是一棵空树,要么它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。 为什么需要平衡二叉树,下图很好解析了为什么 图中我们可以看出二叉树如果 阅读全文
posted @ 2020-05-26 22:28 To_Yang 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 什么是哈希表 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。 给定表M,存在函数f(key),对任意给定的关键字值 阅读全文
posted @ 2020-05-26 19:28 To_Yang 阅读(221) 评论(0) 推荐(0) 编辑
摘要: Java中的线程 在Java中,“线程”指两件不同的事情:1、java.lang.Thread类的一个实例; 2、线程的执行。 在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口.(但是其实本质上都是通过Thread实现的 使用java.lang.Th 阅读全文
posted @ 2020-05-26 18:16 To_Yang 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 下面我们从File类开始 文件流一般都是File开头的,操作基于文件 缓冲流都是Buffer开头,操作基于内存 File只能操作文件本身,但不能操作文件内容,就像是类似于可以拿日记本不能写日记。 这里面记住windows下为\\ 因为\是转义符,所以\\才代表一个\ 下面看看File类的常用方法图 阅读全文
posted @ 2020-05-26 16:29 To_Yang 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 首先了解hash原理 https://www.cnblogs.com/yangj-Blog/p/12952744.html 然后什么是hashset 因为接口关系,所以可以如下 那再运用一下Iterator迭代器 Iterator迭代器原理在获取迭代器的时候,会创建一个集合的副本。同时会创建一个指针 阅读全文
posted @ 2020-05-26 12:30 To_Yang 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 什么是工厂模式:在面向对象编程中, 最通常的方法是一个new操作符产生一个对象实例,new操作符就是用来构造对象实例的。但是在一些情况下, new操作符直接生成对象会带来一些问题。举例来说, 许多类型对象的创造需要一系列的步骤: 你可能需要计算或取得对象的初始设置; 选择生成哪个子对象实例; 或在生 阅读全文
posted @ 2020-05-26 12:01 To_Yang 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 模板方法(Template Method)模式的定义如下:定义一个操作中的算法骨架,而将算法的一些步骤延迟到子类中,使得子类可以不改变该算法结构的情况下重定义该算法的某些特定步骤。它是一种类行为型模式。该模式的主要优点如下。 它封装了不变部分,扩展可变部分。它把认为是不变部分的算法封装到父类中实现, 阅读全文
posted @ 2020-05-26 11:46 To_Yang 阅读(206) 评论(0) 推荐(1) 编辑
摘要: 什么是单例模式,为什么需要单例模式,设计模式可以说是一种套路一个规范 一. 什么是单例模式 因程序需要,有时我们只需要某个类同时保留一个对象,不希望有更多对象,此时,我们则应考虑单例模式的设计。 二. 单例模式的特点 1. 单例模式只能有一个实例。 2. 单例类必须创建自己的唯一实例。 3. 单例类 阅读全文
posted @ 2020-05-26 11:33 To_Yang 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 或许你也曾经疑问,java的类是怎样new出来的 那么就与本文的构造器有关,构造器也就是构造方法 new的原理就是通过类的构造方法,而我们写类的时候如果没有写构造器,java会自动生成构造器,并且与类名是一致的 比如很简单的一个demo public class demo { private int 阅读全文
posted @ 2020-05-26 10:37 To_Yang 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 我们知道类内部定义的属性(对象的成员变量)直接操作会导致数据的错误,混乱,安全性问题等 那么如果你还不太明白上面的话,让我们来看下面代码演示 package yichang; public class demo { public int age; public void printAge(){ Sy 阅读全文
posted @ 2020-05-26 10:10 To_Yang 阅读(230) 评论(0) 推荐(0) 编辑
摘要: public class Test {private String name;//成员变量,也是全局变量public void changeName() {String n = "tomoya";//n就是局部变量name = n;}}总的来说,定义在类里的,也就是name那个位置知,就是成员变量, 阅读全文
posted @ 2020-05-26 09:56 To_Yang 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 首先内层循环属于外层循环循环体的一部分,当循环体执行完以后外层循环才进入第二次循环,此过程中内层循环需要执行符合条件的完整循环。(外循环控制行数,内循环控制每一行的个数) 第一个(外层)for循环作用:控制排序的轮数 第二个(内层)for循环作用:控制每一轮里的每一个比较步骤 下面来看一个简单案例九 阅读全文
posted @ 2020-05-26 09:16 To_Yang 阅读(260) 评论(0) 推荐(0) 编辑