随笔分类 -  Java

摘要:队列的特点 所需元素 分析实现 1. 在实例化队列类时确定数组大小并初始化数组 2. 确定队列具有的功能: (1)EnQueue(Object obj) 插入元素,即元素入队,并且是在队尾入队 (2)DeQueue() 删除元素,即元素出队,并且是在队头出队 (3)isEmpty() 判空 (4)i 阅读全文
posted @ 2018-06-29 19:19 shadowdoor 阅读(1285) 评论(0) 推荐(0)
摘要:栈的特点 所需条件 分析实现 确定栈具有的功能:入栈push()、出栈pop()、查看栈顶元素getTop()、判空isEmpty()、判长length()、清空clear() 代码实现 1. Link类 2. MyLinkList类 3. 链栈类 4. 测试 5. 结果 总结 对比链接:使用数组实 阅读全文
posted @ 2018-06-29 17:53 shadowdoor 阅读(261) 评论(0) 推荐(0)
摘要:栈的特点 所需元素 分析实现 代码实现 测试 结果 总结 对比链接:使用链表实现栈 阅读全文
posted @ 2018-06-27 15:29 shadowdoor 阅读(3032) 评论(0) 推荐(0)
摘要:目的 1. 使用栈将中缀表达式转换成后缀表达式 2. 使用后缀表达式求算术值 注意: 因为是简单实践,所以代码逻辑已经简化,比如只能对个位数的加减乘除进行解析、没有设异常处理等 一:需要实现一个栈 这个没什么好说的,只是一个结构很简单的栈 1 public class Stack { 2 3 pri 阅读全文
posted @ 2018-06-24 17:32 shadowdoor 阅读(2569) 评论(0) 推荐(0)
摘要:最近在研究ArrayList,开始就发现了两个问题: 1. ArrayList默认的初始容量大小? 2. ArrayList的插入速度比LinkedList的慢? 背景: JDK 1.8 1. ArrayList默认的初始容量大小? 看源码 第一张图片注释的意思是: Constructs an em 阅读全文
posted @ 2018-06-20 15:14 shadowdoor 阅读(584) 评论(0) 推荐(0)
摘要:今天刷牛客网的题,其中一题是这样的 最终输出是:15 0 20 我以为的输出是:15 0 15 我的疑问在于第20行。 从上面引发了一个问题,Java到底是按值传递还是按引用传递? 以前,认为是值传递,是通过一个简单的swap例子 结果为: 如果是按引用传递,那么结果就不会这样。 可是,牛客网上的那 阅读全文
posted @ 2018-06-04 21:02 shadowdoor 阅读(188) 评论(0) 推荐(0)
摘要:我的上两篇博客总结了一下不使用外键的优缺点 但是我还没试过,今天尝试了一下,用难一点的多对多关系实验 一:工具: springboot mybatis mysql 二:材料: 五张表: user--用户表 role--角色表 permission--权限表 user-role表 permission 阅读全文
posted @ 2018-05-30 16:32 shadowdoor 阅读(3821) 评论(1) 推荐(1)
摘要:一. 背景相关 JDK:1.8 IDE:IntelliJ IDEA db:MYSQL Spring Boot 结合 JPA Spring Boot版本:v2.0.2.RELEASE 使用maven管理jar包 二:POM 三:材料准备 两张实体表 teacher、studnett 注意: get、s 阅读全文
posted @ 2018-05-28 18:34 shadowdoor 阅读(1001) 评论(0) 推荐(0)
摘要:最近学习过程中,产生了一个疑问,到底该不该使用外键? 不能自己瞎想,为此,去了知乎,搜索相关话题,总结出下面内容。 一:使用外键 优点: (1)实现表与关联表之间的数据一致性; (2)可以迅速的建立一个可靠性非常高的数据库结构,而不用让应用程序层去做过多的检查; (3)可以提高系统鲁棒性、健壮性; 阅读全文
posted @ 2018-05-27 21:01 shadowdoor 阅读(7095) 评论(1) 推荐(1)
摘要:昨天学习了下在ecplise上使用maven,结果出错了。 报错信息有几个,这个最麻烦 --org.eclipse.jdt.internal.compiler.classfmt.ClassFormatException 我先说一下最初环境 1.ecplise-Mars2 2.apache-maven 阅读全文
posted @ 2017-11-19 14:36 shadowdoor 阅读(1486) 评论(0) 推荐(0)
摘要:用IDEA整合SSH时,在web.xml中配置Struts2核心过滤器--"<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>"--这里一直报红。 网上找 阅读全文
posted @ 2017-10-31 18:00 shadowdoor 阅读(2352) 评论(0) 推荐(0)
摘要:1 枚举的需求范围 一些方法在运行时,它需要的数据不能是任意的,而必须是一定范围内的值 比如: 方向 , 性别 、 季节 、 星期...... 2 枚举类的定义格式: enum 类名{ //枚举值 } 3 枚举要注意的细节: 1. 枚举类也是一个特殊的类。 将枚举类编译,会存在以 .class 为后 阅读全文
posted @ 2017-05-28 09:38 shadowdoor 阅读(1806) 评论(3) 推荐(0)
摘要:1 作用 简化迭代器的书写格式。(注意:foreach循环的底层还是使用了迭代器遍历。) 2 适用范围 如果是实现了Iterable接口的对象或者是数组对象都可以使用foreach循环。 3 格式 for(数据类型 变量名 :遍历的目标){ } 示例: 若想遍历这个集合,可以用迭代器 有没有更简洁的 阅读全文
posted @ 2017-05-14 15:39 shadowdoor 阅读(5988) 评论(0) 推荐(0)
摘要:1 静态导入的作用: 简化书写。 2 作用范围:静态导入可以作用一个类的所有静态成员。 3 静态导入的格式: import static 包名.类名.静态的成员 示例: 现在,将它进行排序并求出其中最大值。用到Collections.sort方法和Collections.max方法 结果为: 那么, 阅读全文
posted @ 2017-05-14 11:23 shadowdoor 阅读(941) 评论(0) 推荐(0)
摘要:迭代的方法有: keySet() values() entrySet() 1 集合遍历方法一:keySet() 结果:把Map集合中的所有键都保存到一个Set类型的集合对象中返回 缺点:只是返回了键,没有值。(即使 map.get(key) 给出了对应的值,但是该方法属于 Map ,不是 keySe 阅读全文
posted @ 2017-05-07 17:00 shadowdoor 阅读(1250) 评论(0) 推荐(0)
摘要:1 泛型中通配符: ? 2 需求1: 定义一个函数可以接收接收任意类型的集合对象, 要求接收的集合对象只能存储Integer或者是Integer的父类类型数据。 注意: ? super Integer : 只能存储Integer或者是Integer父类元素。 泛型的下限 需求2: 定义一个函数可以接 阅读全文
posted @ 2017-05-06 20:21 shadowdoor 阅读(588) 评论(0) 推荐(0)
摘要:1 泛型接口的定义格式: interface 接口名<声明自定义泛型>{ } 2 泛型接口要注意的事项: A. 接口上自定义的泛型的具体数据类型是在实现一个接口的时候指定的。 B. 在接口上自定义的泛型如果在实现接口的时候没有指定具体的数据类型,那么默认为Object类型。 3 目前实现一个接口的时 阅读全文
posted @ 2017-05-06 19:26 shadowdoor 阅读(3433) 评论(0) 推荐(1)
摘要:1 泛型类的定义格式: class 类名<声明自定义泛型>{ } 示例: 2 泛型类要注意的事项: A. 在类上自定义泛型的具体数据类型是在使用该类的时候创建对象时候确定的。 B. 如果一个类在类上已经声明了自定义泛型,如果使用该类创建对象的时候没有指定泛型的具体数据类型,那么默认为Object类型 阅读全文
posted @ 2017-05-06 17:49 shadowdoor 阅读(566) 评论(0) 推荐(0)
摘要:1 自定义泛型: 自定义泛型就是一个数据类型的占位符或者是一个数据类型的变量。 2 方法上自定义泛型: 修饰符 <声明自定义的泛型>返回值类型 函数名(使用自定义泛型 ...){ } 3 方法泛型注意的事项: A. 在方法上自定义泛型,这个自定义泛型的具体数据类型是在调用该方法的时候传入实参时确定具 阅读全文
posted @ 2017-05-06 17:01 shadowdoor 阅读(4250) 评论(0) 推荐(0)
摘要:/* HashSet的实现原理: 往HashSet添加元素的时候,HashSet会先调用元素的hashCode方法得到元素的哈希值 , 然后通过元素 的哈希值经过移位等运算,就可以算出该元素在哈希表中 的存储位置。 情况1: 如果算出元素存储的位置目前没有任何元素存储,那么该元素可以直接存储到该位置 阅读全文
posted @ 2017-05-06 12:07 shadowdoor 阅读(8521) 评论(0) 推荐(0)