JAVASE笔记整理
清欢*
这个作者很懒,什么都没留下…
展开
-
JavaSE——字符串的判断方法
字符串的判断方法 字符串的判断方法 Boolean endsWith(String suffix) 测试次字符串是否以指定的后缀结束。 Boolean equals(Object anObject) 将此字符串与指定的对象比较 Boolean equalsIgnoreCase(String anotherString) 将此...原创 2019-12-01 21:57:52 · 352 阅读 · 0 评论 -
JavaSE——排序算法小结
1、常见排序算法总结表 排序方法 时间复杂度 (平均) 时间复杂度 (最坏) 时间复杂度 (最好) 空间复杂度 稳定性 插入排序 O(n^2) O(n^2) O(n) ...原创 2019-12-01 21:53:29 · 109 阅读 · 0 评论 -
认识异常
1.认识异常: 2.异常是指层序在运行时出现错误时通知调用者的一种机制。 异常是一种对象。 3.防御式编程 LBYL: Look Before You Leap. 在操作之前就做充分的检查. EAFP: It's Easier to Ask Forgiveness than Permission. "事后获取原谅比事前获取许可更容易". 也就是先操作, 遇到问题再处理. 4.通过返回值...原创 2019-09-25 23:28:00 · 176 阅读 · 0 评论 -
String 类型
1.对于字面量字符串"hello"会进入到常量池中,属于优化部分 2.凡是字符量比较,统一用equals 3.非要把堆上的字符串入池 String s = new String("hello"); //先在常量池中创建 字符串 , String s = new String("hello").intern(); //手动入池(非字面量) Integer i = 127; Integer...原创 2019-09-22 00:01:22 · 86 阅读 · 0 评论 -
JavaSE——搜索模型
复习: 1.Java中对象得到比较相关的三种方法 Object.equals 相等还是不相等 Comparable.compareTo 比较(内部比较,自然顺序) Comparator.compare 比较(外部比较,基于比较器) 2.如何定义一个泛型类 3.使用泛型...原创 2019-09-12 23:03:29 · 164 阅读 · 0 评论 -
JavaSE——
复习: 1.Java中对象得到比较相关的三种方法 Object.equals 相等还是不相等 Comparable.compareTo 比较(内部比较,自然顺序) Comparator.compare 比较(外部比较,基于比较器) 2.如何定义一个泛型类 3.使用泛型...原创 2019-09-06 23:49:18 · 112 阅读 · 0 评论 -
JavaSE——泛型2
1.定义一个泛型类 1.1.实现一个顺序表的泛型类 定义语法: class 类名称<类型形参>{} //定义语法 public class MyArrayList<E> implements list<E>; //第一个E是形参,第二个E是实参 1.2.数组类型或者引用类型记得置空 否则会引发内存泄漏,即原本语义上应该死去(最后被回...原创 2019-09-05 23:17:57 · 73 阅读 · 0 评论 -
JavaSE——Java中三种基于对象的比较方法
1.通过引用来实现一个对象(people 类)的排序 么有办法直接直接做,原因是Person类型的引用无法和另一个Person类型的引用做大小比较 Person[] person //相等性的比较 Object.equals() //相等性的比较 //引入一个接口 Comparable<E> //引入另一个接口 Comparator<E> 方法1:覆写...原创 2019-09-04 15:46:37 · 116 阅读 · 0 评论 -
JavaSE——七大排序 下篇
复习: 1.快速排序 1.在待排序区间选择一个基准值(pivot) (1)选最边上 (2)随机选 (3)多数选中 2.做分割(partition),遍历整个待排序区间,保证每个数都和基准数比较 如果小于(或等于)基准值,放到基准值的左边; 如果大于(或等于)基准值,放到基准值的右边 3.按照相同的方式,处理第2步分出来的两个小区间,直到 小区间的长度 == 1 表示有序,或者 ...原创 2019-09-01 20:23:46 · 71 阅读 · 0 评论 -
JavaSE——七大排序 中篇
复习: **堆排序:(1)如果排升序,必须建大堆 (2)如果排降序,必须建小堆 新课: 1.直接选择排序:(进化版) 即每次遍历无序区间,找出一个最小值和一个最大值,然后进行交换,直到有序。 //直接选择排序(进阶版) public static void selectSortVersion2(int[] array){ int low = 0; ...原创 2019-08-30 17:24:20 · 71 阅读 · 0 评论 -
JavaSE——七大排序 上篇
7大基于比较的排序:插入排序|希尔排序、选择排序|堆排序、冒泡排序、快速排序、归并排序 **注意 1.排序:默认情况都是按非降序排序(In-place 原地排序) 2.稳定的排序:具有稳定性(即能保证排序过程中相等的数据的相对顺序不变)。 3.插入排序:(减治算法排序) 每次从无序区间选择第一个数,插入到有序区间的合适位置,直到全部有序。 有序区间 无序区...原创 2019-08-29 22:32:18 · 103 阅读 · 0 评论 -
JavaSE——二叉树的存储
1.二叉树的的存储结构: (1)顺序结构————顺序存储——堆——数组 (2)链式结构————链式存储——链表 2.二叉树可以用数组存储? 可以,按照层序的方式把值平铺在数组上(完全二叉树) 非完全二叉树平铺到数组中时,会有很多空调,所以往往不用这种方式 3.关注下表的变化 (1)已知parent的下标:left=2*parent +1 right = 2*parent+2 ...原创 2019-08-28 20:52:57 · 119 阅读 · 0 评论 -
JavaSE——树
一、了解: 1.深度优先遍历(栈):不撞南墙不回头 2.广度优先遍历(队列):一层一层遍历 二、面试题 1.实现循环队列(array、size、front、rear) //循环队列 public class MyCircularQueue { private int[] array; private int front = 0; private int rear...原创 2019-08-25 22:32:22 · 101 阅读 · 0 评论 -
JavaSE——迭代器
迭代器(Iterator) 1.相关概念 1.1迭代器Iterator:一个集合的迭代器。 专门实现集合遍历。Iterator需要的地方Enumeration在Java集合框架。 1.2迭代器有两种不同的枚举方式: (1)迭代器允许调用者在迭代期间从底层集合中删除元素,并具有明确定义的语义。 (2)方法名称得到改进。 1.3三种方法 (1)booleanhasNext() 如果迭...原创 2019-08-24 21:32:04 · 104 阅读 · 0 评论 -
JavaSE——集合框架和接口
一、集合框架 集合框架中提供了一个内部类专门操作集合中的元素,这个内部类就是迭代器 1.集合框架的由来 数据多了用对象进行存储,对象多了用集合来进行存储。而存储数据的方式(数据结构)各有不同,所以存储的容器也就有多种,从而形成了集合框架这一体系。 2.Collection ---- Collection 层次结构 中的根接口。用来存储管理一组对象objects,这些对象一般...原创 2019-08-23 19:01:05 · 97 阅读 · 0 评论 -
JavaSE——泛型
一、泛型的简单介绍(Generic) 1.诞生的意义 为什么出现?顺序表本身是一种抽象数据类型,保存的数据不只是int型。如果没有泛型的支持,我们必须为每一种要保存的类型定义一个顺序表类。 为了解决此问题: 第一阶段:思考 (1)Object 是所有类的基类 class ArrayList{ Object[ ] array; int size; } 元素类型:Objec...原创 2019-08-19 21:40:56 · 63 阅读 · 0 评论