03 2023 档案
摘要:泛型可以统一数据结构类型 可以把运行的问题提到编译器,可以防止强转而出现问题,因此在编译阶段就把类型确定下来 泛型类: 泛型方法: 泛型方法的调用: 泛型接口: 泛型不支持继承,而支持数据继承; 泛型小结:
阅读全文
摘要:分块查找规则: 分块查找代码实现 public class 分块查找 { public static void main(String[] args) { int array[]={16,5,9,12,21,18, 32,23,37,26,45,44, 50,48,61,52,73,66}; //创
阅读全文
摘要:remove方法的注意点:在调用方法时,如果出现了方法重载的现象,优先调用实参和行参一致的方法 列表迭代器和迭代器差不多,只是列表迭代器可以让next进行返回,还有删除和添加的功能 集合遍历的5大方法代码实现: 集合遍历的使用场景小结:
阅读全文
摘要:增强for底层原理就是一个一个迭代器,在jdk5后出现 修改增强for中的数据,集合中的数据不会发生改变 使用lambad表达式: coll.forEach(s -> System.out.println(s));
阅读全文
摘要:迭代器特点:不依赖索引,适用list和set集合 代码实现: import java.util.ArrayList;import java.util.Collection;import java.util.Iterator;public class text2 { public static voi
阅读全文
摘要:集合分为单列集合和双列集合 单列集合 contains方法的细节: contains方法我们需要注意下,equals方法的重写
阅读全文
摘要:案例1: 代码实现: package 黑马程序员;import java.util.Arrays;import java.util.Comparator;public class text { public static void main(String[] args) { girl gf1 = n
阅读全文
摘要:作用:简化函数式接口的匿名内部类写法 使用前提:必须是接口的匿名内部类,接口中只能有一个抽象方法 好处:lambda是一个匿名函数,我们可以把lambda表达式理解为是一段可传递的代码,他可以写出更简洁的代码,使Java语言更加灵活 小括号为行参,大括号为方法体 代码实现:
阅读全文
摘要:distinct只能出现在所有字段的最前方 distinct出现在两个字段前面,表示两个字段去重
阅读全文
摘要:被引用的表为父表,引用的表为子表 外键作用:为了防止数据冗余和数据无效 删除表的顺序:先删子,在删父 创建表的数据:先创建父,在创建子 删除数据的顺序:先删除子,在删除父 插入数据的顺序:先插入父,在插入子 子表中的外键引用父表中的某个字段,被引用的这个字段不一定是主键,但是至少有unique约束
阅读全文
摘要:主键一张表只能有一个,支持一个单一主键,或则一个复合主键:primary key(字段名1,字段名2); 主键还可分为自然主键和业务主键
阅读全文
摘要:二分查找方法的细节1:数组中的元素必须是有序的,并且是升序的 二分查找方法的细节2: 拷贝数组的方法细节: sort按照指定规则排序的底层原理:这里需要二分查找和插入排序,匿名内部类的知识 代码实现: import java.util.Arrays;import java.util.Comparat
阅读全文
摘要:代码实现: public class 快速排序 { public static void main(String[] args) { int[] array={6,1,2,7,9,3,4,5,10,8}; getQuicksort(array,0,array.length-1); for (int
阅读全文
摘要:代码实现: public class 插入排序 { public static void main(String[] args) { int[] array={3,44,38,44,72,54,32,43,242,46,47,56}; //定义一个变量去接收无序的起始索引 int startInde
阅读全文
摘要:代码实现: public class 选择排序 { public static void main(String[] args) { int[] array={2,5,4,3,1}; //外循环:i表示我拿着哪个索引进行比较,并交换位置 for (int i = 0; i <array.length
阅读全文
摘要:代码实现: public class 冒泡排序 { public static void main(String[] args) { int[] array={2,1,5,4,3}; //外循环,表示要执行多少轮,如果有n个数据,则执行n-1轮 for (int i = 0; i <array.le
阅读全文
摘要:递归的定义:递归就是不断的调用自己的方法,帮助解决麻烦的代码问题,最后提高代码的简洁性、 递归需要遵守的规则: 迷宫回溯问题: 迷宫回溯问题的代码实现: package 递归;public class 迷宫回溯问题 { public static void main(String[] args) {
阅读全文
摘要:二分查找法必须满足要查找的数据是有序排列的,当min>max循环结束 二分查找小结:
阅读全文
摘要:代码实现 import java.util.ArrayList;import java.util.List;import java.util.Stack;public class text1 { public static void main(String[] args) { //先定义一个逆波兰表
阅读全文
摘要:前缀表达式又叫波兰表达式,前缀表达式的运算符位于操作数之前 前缀表达式案例:(3+4)*5-6的前缀表达式为-*+6543 中缀表达式: 后缀表达式(逆波兰表达式):运算符位于操作数后面 后缀表达式代码; package 逆波兰表达式;import java.util.ArrayList;impor
阅读全文
摘要:KMP算法思路分析:先得到字串的部分匹配表,使用部分匹配表完成KMP的算法匹配 部分匹配表:利用前缀和后缀完成 移动位数为:已经匹配的字符-对应的部分匹配值 前缀和后缀案例: 前缀和后缀案例2: KMP算法的代码实现案例:
阅读全文
摘要:信息的7大特性: 可传输性 时滞性 可储存性 再生与增值性 可加工性 共享性 转化性 系统的含义:为达到某种目的而相互联系的部件集合 系统的4方面特性:整体性,目的性,关联性,层次性 信息系统运维的内部因数:战略计划,用户需求,管理高层,IT部门,现行信息化基础 信息系统运维的外部因素:技术,供应商
阅读全文
摘要:双向链表可以实现自我删除,和向前向后查找,因为双向链表中多了个pre,而pre是指向前一个节点 单向链表删除只能单一查找,并且如果删除需要定位到要删除节点的前一个节点 具体: 双向链表的增删改查思路:
阅读全文
摘要:逆转单链表 栈(Stack) 的基本含义:栈有着先进后出的特点 代码演示: import java.util.Stack;public class stac { public static void main(String[] args) { //栈的演示 Stack<String> stack =
阅读全文
摘要:链表是有序链表 链表在内存中以节点的方式储存数据 每个节点包含data域,next域:指向下一个节点 链表的各个节点不一定是连续储存 链表有带头节点的链表和不带头节点的链表‘ 链表示意图: 不考虑序号添加 根据序号添加 修改节点功能:先找到该节点,通过遍历,然后修改即可,temp.name=newH
阅读全文
摘要:队列是一个有序列表,可以用数组或则链表实现 遵循先入先出原则,即:先存入的数据先取出 示意图:(使用数组模拟队列示意图) 队列的注意事项: 数组模拟队列的不足之处:目前数组使用一次就不能使用,用环形队列可以解决
阅读全文