自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 二叉树的度

1.树的出度=树的入度=树的节点数-1;n0=5,n1=3,n2未知;树的出度=0*n0+1*n1+2*n2=n0+n1+n2-1得n2=4;故树的总节点数为:5+3+4=12 2.叶子节点个数=度为2的结点个数加1 ...

2019-09-04 09:18:00 6496

转载 jdk7和jdk8中hashmap实现的区别(还是模糊)

JDK7中的hashMap底层采用了数组+链表的数据结构实现数据存储,随着存储数据量的增大,Hash碰撞会越来越频繁。也就意味着链表会越来越长,查找效率不断降低。 JDK8解决了这个问题,对于hashMap采用了新的数据结构:数组+链表/红黑树(当链表长度达到某个阈值时,链表就转换成了红黑树...

2019-09-03 11:21:00 113

转载 红黑树(面试会问的数据结构)

要理解红黑树就要先理解二叉查找树 二叉查找树特征: 1.左子树上所有结点的值均小于或等于它的根结点的值。 2.右子树上所有结点的值均大于或等于它的根结点的值。 3.左、右子树也分别为二叉排序树。 二叉查找树的优点:查找所需数的最大次数为等同于二叉查找树的高度。插入的时候也是类似,通过...

2019-09-03 11:11:00 331

转载 Arrays.copyOfRange()方法

Arrays.copyOfRange()方法(比利用循环复制数组效率要高得多): 要使用这个方法,首先要import java.util.Arrays; Arrays.copyOfRange(original[ ],int from,int to) 将一个原始的数组original,从...

2019-08-31 14:12:00 1414

转载 重建二叉树

题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 思路:二叉树,毫无疑问的应该想到递归。 注意:...

2019-08-31 14:11:00 86

转载 Java中的内部类

为什么使用内部类? 1.使用内部类最大的优点就在于它能够非常好的解决多重继承的问题 2.每个内部类都能独立地继承一个接口的实现,所以无论外围类是否已经继承了某个接口的实现 内部类的特性(也可以回答上面的问题): (1)、创建内部类对象的时刻并不依赖于外围类对象的创建。 (2)、内部类提...

2019-08-30 16:24:00 51

转载 ArrayList与LinkedList区别

注意:是LinkedList而不是LinkList。 ArrayList与LinkedList都是Collection接口下List接口的实现类 区别: ArrayList:ArrayList是基于动态数组的数据结构。 LinkedList(双向链表): 1.内部使用基于链表的数据...

2019-08-30 15:07:00 63

转载 ArrayList

ArrayList其实就是动态数组 java.util.ArrayList<E> 是非常重要的一个类,E表示泛型,ArrayList是一个泛型类。 与数组不同,数组一旦创建,长度固定,但是ArrayList的长度是动态的,不受限制,可以存储任意多的对象,但是只能存储对象,不能存...

2019-08-30 15:07:00 69

转载 从尾到头打印链表

题目描述 输入一个链表,按链表从尾到头的顺序返回一个ArrayList。 方法一:我们要返回的是ArrayList,所以就必须先定义一个ArrayList。然后ArrayList中有add(index,value),可以指定 index 位置插入 value 值。只要我们每次插入的位置都...

2019-08-30 14:48:00 78

转载 Java Object类中的方法有哪些

1.getClass方法 获得运行时类的类型。 2.hashcode方法 该方法用来返回其所在对象的物理地址(哈希码值),常会和equals方法同时重写 3.equals 方法 默认情况下(继承自Object类),equals和==是一样的(都是比较的对象的地址值)。但子类一般都要重...

2019-08-30 09:22:00 528

转载 替换空格

方法一:直接用String类的replace方法 方法二思路:因为String类对象是不可修改的,所以要想对原字符串进行操作就要考虑用Stringbuilder类(Stringbuffer也可以,但一般用Stringbuilder),因为用Stringbuilder创建的对象进行修改删除是不...

2019-08-29 14:03:00 63

转载 Java中的charAt() 方法(非面试)

charAt() 方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1。 结果为: 转载于:https://my.oschina.net/u/4120977...

2019-08-29 13:40:00 461

转载 Java中replace方法

replace() 方法通过用 newChar 字符替换字符串中出现的所有 oldChar 字符,并返回替换后的新字符串。 eg: //这里'o'是oldChar ,‘T’是newChar 返回结果:hellT 注意:如果是用Stringbuffer或者Stringbuilder定义的...

2019-08-29 11:29:00 4489

转载 java中String StringBuilder StringBuffer的区别

1.String和StringBuilder,StringBuffer的区别 都是用来定义一个字符串的 String适用于字符串内容不变的操作,或者字符串操作很少时 当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类。因为和 String 类...

2019-08-29 09:20:00 105

转载 Java中的类加载机制(暂时)

1.加载 2.验证,3.准备,4.解析(这三个阶段称之为连接,连接阶段负责把类的二进制数据合并到JRE中)5.初始化 加载:加载阶段是类加载过程的第一个阶段。在这个阶段,JVM 的主要目的是将字节码(.class文件)从各个位置(网络、磁盘等)转化为二进制字节流加载到内存中,接着会为这个...

2019-08-28 22:25:00 64

转载 char可以存储汉字吗?

能。 char型变量是用来存储Unicode编码的字符的,而Unicode编码字符集中包含了汉字,所以char当然能存汉字,不过如果某个特殊字符没包含在Unicode编码的字符集中,那么char就不能存储这个汉字(char是两个字节的) ...

2019-08-28 21:47:00 1156

转载 Java中创建子类实例时会创建父类实例吗?

不会! 创建子类实例的时候会调用父类的构造方法,但是构造方法被执行并不代表实例化了这个类。父类构造方法的执行,是为了给变量进行赋值。 转载于:https://my.oschina.net...

2019-08-28 16:17:00 512

转载 Java中==比较的是什么?

1、对于对象引用类型:“==”比较的是对象的内存地址。 所以就算两个对象的值相等,它们也是不等的(因为每个对象的地址都是不一样的) 2.对于基本类型数据,其实比较的是它的值。 所以一般用==来比较两个数字大小是不是相等的 ...

2019-08-28 15:48:00 3635

转载 时间复杂度和空间复杂度的理解

时间复杂度 时间复杂度指的是算法语句的执行次数,并不是运行时间。一个算法语句的执行次数最终都是可以通过函数f(n)来表示的 eg: 这里的x++就是算法语句,其f(n)=10-x f(n)=n*n i++即算法语句,被执行次数为f(n)=n-i 但f(n)并不是时间复杂...

2019-08-28 15:47:00 80

转载 二维数组中的查找

题目: 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数 思路一:暴力法 最容易想到的肯定就是暴力法,直接用两个for循环嵌套,然后把每一个...

2019-08-28 15:44:00 68

转载 二维数组的长度

Java中二维数组的长度 eg: int a[2][2]; int len1=a.length; //表示一共有多少行(列长度) int len2=a[i].length. //表示一共有多少列(行长度) 二维数组可以把每一行的元素看成是一维数组中的一个元素,这样二维数组的...

2019-08-28 15:32:00 4533

转载 递归的理解(二叉树的先序遍历)

理解递归首先要明白递归是用栈来实现的,而栈的特点就是先进后出。 eg1: 解析:递归是利用栈来实现的。被调函数地址首先存入栈,存在栈底部红色部分,然后f(5)入栈,f(4)、f(3)、f(2)、f(1)依次入栈,由于当n=1时候,f(1)可以被求解,f(1)出栈,栈顶指针top--,依...

2019-08-27 11:11:00 1004

转载 java中的引用

1、强引用:指在程序中普遍存在,类似Object obj = new Object()这类的引用,只要引用还存在,垃圾收集永远不会回收掉被引用的对象。 2、软引用:用来描述一些还有用但是并非必须的对象。对于软引用关联的对象,在系统将要发生内存溢出时,才会回收该对象。如果这次回收还没有足够的内...

2019-08-26 16:23:00 150

转载 Java中重载和重写的区别

重载(overload):在一个类中,同名的方法如果有不同的参数列表则视为重载。 1.重载是一个类中多态性的一种表现 2.重载要求同名方法的参数列表不同(参数类型,参数个数甚至是参数顺序) 3.重载的时候,返回值类型可以相同也可以不相同。无法以返回型别作为重载函数的区分标准 重写(ov...

2019-08-26 16:00:00 208

转载 Java中对象创建的过程

1.检查类是否已经被加载(如果没有先执行类的加载过程) 2.为对象分配内存空间(两种分配机制:空闲列表法,指针碰撞法) 3.把对象初始化为零值 4.设置对象头(对象头中存储了两部分信息,一部分存储对象自身运行时数据,另外一部分存储着类型指针,指向对象类元数据,虚拟机通过这部分信息确定对象...

2019-08-26 15:17:00 115

转载 Java中init方法和clinit方法

init方法: .Java文件在编译后会在字节码文件中生成init方法,该方法被称之为实例构造器。init方法是在对象实例化时执行的。该方法中的操作及其顺序为 1.父类变量初始化 2.父类语句块 3.父类构造函数 4.子类变量初始化 5.子类语句块 6.子类构造函数 clinit...

2019-08-26 14:56:00 4247

转载 Java的四种语句块(非面试)

一,局部代码块 存在于方法里面 public class Person{ public void run(){ System.out.println("局部代码块"); }} 二,构造代码块 public class Person{ ...

2019-08-26 11:14:00 133

转载 Java初始化块(非面试)

Java 中可以通过初始化块进行数据赋值。如: 在类的声明中,可以包含多个初始化块,当创建类的实例时,就会依次执行这些代码块。如果使用 static 修饰初始化块,就称为静态初始化块。 静态初始化块只在类加载时执行,且只会执行一次,同时静态初始化块只能给静态变量赋值,不能初始化普通的成...

2019-08-26 11:03:00 39

转载 Java中接口和抽象类的区别?

不同点: 1.接口只有定义,不能有方法的实现,而抽象类可以有定义与实现,方法可在抽象类中实现。 2.一个类可以实现多个接口,但一个类只能继承一个抽象类。(实现接口的关键字为 implements,继承抽象类的关键字为extends) 3.抽象类中可以有自己的数据成员(成员变量默认defa...

2019-08-26 10:23:00 172

转载 第五章:方法

如果方法的返回类型为 void ,则方法中不能使用 return 返回值! 方法的返回值最多只能有一个,不能返回多个值 length是求数组的长度,length()是求String类型的字符串的长度(个数) 带参方法的参可以是String类型或者数组 Arrays.sort()是...

2019-07-26 00:41:00 47

转载 第四章:数组

定义一个数组:int [ ] scores={1,2,3}/数据类型 [ ] 数组名; 数组名.length用于获取数组长度; foreach是for语句遍历的简化版 定义一个二维数组: ...

2019-07-11 06:40:00 47

转载 第三章:控制语句

switch 语句后面小括号中表达式的值必须是整型或字符型 case后面要么是整形要么是字符型 while语句只有当判断条件不满足了才不执行 while语句 所以这个语句至少被执行一次 注意:do while 后面有分号,而直接的while后面没有 for循...

2019-07-11 06:01:00 46

转载 第二章:运算符

int b =a++; //先把a赋值给b,然后a再自增 int b=++a; //先让a自增,然后再将a赋值给b %用来取余数(取模) c -=a;等价于 c=c-a; c /=a 等价于 c=c/a; 比较运算符的结果是true或者false(a==b的结...

2019-07-10 19:34:00 58

空空如也

空空如也

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

TA关注的人

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