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