08 2017 档案
摘要:1,AVL树又称平衡二叉树,它首先是一颗二叉查找树,但在二叉查找树中,某个结点的左右子树高度之差的绝对值可能会超过1,称之为不平衡。 而在平衡二叉树中,任何结点的左右子树高度之差的绝对值会小于等于 1。 1,AVL树又称平衡二叉树,它首先是一颗二叉查找树,但在二叉查找树中,某个结点的左右子树高度之差
阅读全文
摘要:二叉查找树是一种有规律排列树中数据的树形结构 规则: 所有小于节点的数据都成为左子树,所有大于节点的数据都成为右子树。 1.contains方法 方法遍历使用了递归的形式 分为三步 1.根节点是否为空,为空返回空,不为空继续 2.判断这个数据比节点数据大小,大向左子树递归 3.小,向右子树递归 2.
阅读全文
摘要:二叉搜索树的深度与搜索效率 二叉搜索树也可称为二叉查找树,它的常用方法可以参考:二叉查找树 我们在树, 二叉树, 二叉搜索树中提到,一个有n个节点的二叉树,它的最小深度为log(n),最大深度为n。比如下面两个二叉树: 深度为n的二叉树 深度为log(n)的二叉树 这两个二叉树同时也是二叉搜索树(参
阅读全文
摘要:链表的两种底层结构 1.ArrayList实现单链表(其实就是一个顺序数组) 关于java实现ArrayList的方法:java实现ArrayList ArrayList其实就是一组长度可变的数组,当实例化了一个ArrayList,该数据也被实例化了,当向集合中添加对象时,数组的大小也随着改变,这样
阅读全文
摘要:队列是先进先出的结构,栈是先进后出的数据结构 队列的数组实现图示: 循环实现,头指针-1=尾指针,说明队列空 进队:2413,出队:2413 队列的应用 文件服务器 电话接线问题 并且队列在很多软件的功能中都有应用,比如线程的等待等;
阅读全文
摘要:栈是一个先进后出的结构,队列是先进先出的结构 栈有两种实现方式 1.链表实现 2.数组实现 栈的应用 1.平衡符号的检测,比如eclipse中{ }大括号是否成对出现 2.后缀表达式的算法(详情见书中内容,比较简单) 3.中缀表达式的算法,先转换成后缀表达式,然后在进行计算(略复杂,详情见书中内容)
阅读全文
摘要:相对于ArrayList的数组结构,linkedList是链表结构; 结构:LinkedList是一个双链表的结构,每一个节点上,都有指向前一个元素和后一个元素的指针存储着地址, 并且有两个头尾节点,用来标记开始和结束。 LinkedList代码实现并不复杂,重要的是理解增删的链接变化思想。 nod
阅读全文
摘要:这一节共阐述了四种实现ArrayList的方法,但是都是逐渐的接近第四种这样的完美代码 根于linkedlist可以查看:linkedlist实现 1.基本的ArrayList发方法都实现了,但是迭代器并不完美 2. 1号迭代器将本类和迭代器类分开放,迭代器不能访问本类内部的成员 2号迭代器虽然创建
阅读全文
摘要:1、iterator是有remove方法的,并且在使用iterator的过程中,不能自行调用collection的增删改方法 而可以利用iterator的remove方法来删除。 2、list就是一个表,ArrayList是一个单链表,LinkedList是一个双链表; 3、 4、使用Iterato
阅读全文
摘要:SCHEMA约束: 一个xml文档中可以添加多个schema约束 xml和schema的关联. 格式: <根标签 xmlns="..." ...> <根标签 xmlns:别名="..." ...> 名称空间: 关联约束文件 规定元素是来源于那个约束文件的 例如: 一个约束文件中规定 table(表格
阅读全文
摘要:xml约束: 作用:规定xml中可以出现那些元素及那些属性,以及他们出现的顺序. 约束的分类: DTD约束:struts hiebernate等等 SCHEMA约束:tomcat spring等等 DTD约束: 和xml的关联 (一般都会提供好,复制过来即可,有时候连复制都不需要.) 方式1:内部关
阅读全文
摘要:xml解析: 解析方式: 1.sax:特点:逐行解析,只能查询. 2.dom:特点:一次性将文档加载到内容中,形成一个dom树.可以对dom树curd操作 解析技术: JAXP:sun公司提供支持DOM和SAX开发包 JDom:dom4j兄弟 jsoup:一种处理HTML特定解析开发包 ★dom4j
阅读全文
摘要:xml: 可扩展的标签语言 标签自定义. 作用:存储数据.(配置文件) 书写规范: 1.区分大小写 2.应该有一个根标签 3.标签必须关闭 <xx></xx> <xx/> 4.属性必须用引号引起来, <xx att="value"/> 5.标签体中的空格或者换行或者制表符等内容都是作为数据内容存在的
阅读全文
摘要:缓冲流一共分为四种:字节缓冲输入(输出)流,字符缓冲输入(输出)流; 1- 字节缓冲输出流BufferedOutputStream 继承结构: 构造方法: 代码演示: /* * 写数据到文件的方法 * 1,创建流 * 2,写数据 * 3,关闭流 */ private static void writ
阅读全文
摘要:1.1 - OutputStreamWriter类 OutputStreamWriter 是字符流通向字节流的桥梁:可使用指定的字符编码表,将要写入流中的字符编码成字节。 它的作用的就是,将字符串按照指定的编码表转成字节,在使用字节流将这些字节写出去。 - 代码演示: public static v
阅读全文
摘要:用字节流读取一个含有字符的文件时,我们并没有看到具体的中文,而是看到一些数字,这是什么原因呢? 既然看不到中文,那么我们如何对其中的中文做处理呢?要解决这个问题,我们必须研究下字符的编码过程。 用字节流读取一个含有字符的文件时,我们并没有看到具体的中文,而是看到一些数字,这是什么原因呢? 既然看不到
阅读全文
摘要:字符流和字节流在写出的时候,如果文件不存在是会自动创建的,不需要手动创建文件。 并且,在写入文件时,是具有缓存的,如果没有关闭流,那么需要手动刷新。 1.1 字节输出流 OutputStream OutputStream 此抽象类,是表示输出字节流的所有类的超类。操作的数据都是字节,定义了输出字节流
阅读全文
摘要:File的一些常用方法 1、File.listRoots() 返回一个File[]数组,里面存储了根目录的File对象 2、boolean exists() 判断是否存在这个文件 3、long lastModify() 返回最后一次修改的时间,毫秒数值 文件不存在返回0 4、boolean isFi
阅读全文
摘要:Arrays常见的是对数组的操作 1.void fill(Object[] objs,Object obj)方法 对指定的数组用指定的元素进行填充 会将该元素装满这个数组 2.void fill(Object[] objs,int start,int end,Object obj) 填充元素到指定的
阅读全文
摘要:泛型:JDK1.5版本以后出现新特性。用于解决安全问题,是一个类型安全机制。 在jdk1.7之后定义泛型可以不用写后面的<>中的内容 比如: People<Dog> people = new People<不用写>("李德华", new Dog()); 好处 1.将运行时期出现问题ClassCast
阅读全文
摘要:Collections的常用方法 1. sort(list,comparator) sort(list) 在使用时,集合中的对象要可序列化,即实现comparable方法或者传入一个已知类型的比较器对象, 默认调用的是compareTo()方法 2. shuffle(list) 将元素进行随机排列,
阅读全文
摘要:Map集合遍历有两种方法 第一:mapEntry方式 第二:keySet方式 HashMap 和Hashtable 的区别 - HashMap允许键和值是null,而Hashtable不允许键或者值是null。 - Hashtable是同步的,而HashMap不是。因此,HashMap更适合于单线程
阅读全文
摘要:在此以TreeSet集合为例: TreeSet排序的第一种方式:让元素自身具备比较性。 元素需要实现Comparable接口,覆盖compareTo方法。 这种方式也成为元素的自然顺序,或者叫做默认顺序。 TreeSet的第二种排序方式。 当元素自身不具备比较性时,或者具备的比较性不是所需要的。 这
阅读全文
摘要:判断集合元素唯一的原理 3.1 ArrayList 的 contains 方法判断元素是否重复原理 ArrayList 的 contains 方法会使用调用方法时,传入的元素的 equals 方法依次与集合中的旧元素 所比较,从而根据返回的布尔值判断是否有重复元素。此时,当 ArrayList 存放
阅读全文
摘要:Set:无序,不可以重复元素。 |--HashSet:数据结构是哈希表。线程是非同步的。 保证元素唯一性的原理:判断元素的hashCode值是否相同。 如果相同,还会继续判断元素的equals方法,是否为true。 链接: 关于HashSet详解(hashcode方法和equals方法的覆盖问题)
阅读全文
摘要:Collection接口 |--List:元素是有序的,元素可以重复。因为该集合体系有索引。 |--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。 |--LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询稍慢。线程不同步。 |-
阅读全文
摘要:异常的继承体系 异常体系: Throwable |--Error |--Exception |--RuntimeException 1.异常的注意事项: 在子父类覆盖时: 1,子类抛出的异常必须是父类的异常的子类或者子集。 2,如果父类或者接口没有异常抛出时,子类覆盖出现异常,只能try不能抛。 2
阅读全文
摘要:1.匿名内部类的实现 格式 父(类/接口) xx = new 父(类/接口)(){ 覆盖父类的方法 或者 实现接口中的 原因 使用静态内部类的主要功能是能够实现方便的创建某一类或某一个接口的实例化对象,而不需要单独的创建一个 类来继承这个类或者实现这个接口。 2.静态内部类 主要注意的是静态内部类的
阅读全文
摘要:1.多态的使用方式 父类引用指向子类对象 (同一类型的对象引用指向了不同类型的子类对象,具体方法的实现不同) 调用的方法需要是子类和父类都有的,但是执行的是子类的,就是执行医生类覆盖的(重写的)eat方法 也就是所谓的:编译看左边,执行看右边! 能够调用什么方法,取决于引用的类型,而方法中具体怎么执
阅读全文
摘要:1.通过将程序启动的路径添加到path路径下,可以直接在控制台启动程序
2.数据类型的位数:
一个字节8位,int4个字节,一共32位
阅读全文

浙公网安备 33010602011771号