- 博客(206)
- 收藏
- 关注
原创 MySql:索引,结构
摘要:本文介绍了MySQL索引的使用方法和结构特点。主要内容包括:1)主键和唯一约束会自动创建索引;2)索引的增删查操作语法,如创建索引(create index)、删除索引(drop index)和查看索引(show index);3)MySQL支持多种索引结构,包括Hash、B+Tree、Full-Text等,默认采用B+Tree结构。文章通过具体SQL示例演示了索引的基本操作,帮助理解索引的实际应用。
2025-07-18 18:47:27
213
原创 Java:Map集合案例
本文介绍了Map集合的典型应用场景:使用HashMap存储省市关系。通过"省-市"的案例,展示了如何用Map<String, List<String>>结构存储省份和对应城市列表,其中键为省份名,值为城市列表。文章提供了三种遍历方式:增强for循环、迭代器和forEach方法,并附有完整Java代码示例,演示了如何初始化数据、添加元素以及查询特定省份的城市列表。该案例展示了Map集合与List集合结合使用的常见模式,适用于需要存储键值对且值为集合的场景。
2025-07-18 10:32:14
386
原创 Java:集合Map:HashMap,LinkedHashMap,TreeMap
本文系统介绍了Java中三种Map集合的实现原理与特性:1)HashMap基于哈希表实现,键无序且不重复,JDK8后引入红黑树优化性能,需注意重写hashCode和equals方法保证键唯一性;2)LinkedHashMap在HashMap基础上维护插入顺序;3)TreeMap基于红黑树实现自动按键排序,支持Comparable或Comparator两种排序方式。重点剖析了HashMap的存储机制(包括哈希计算、链表/红黑树转换、扩容策略等),并详细说明了自定义对象作为键时的处理方法和TreeMap的两种排
2025-07-18 09:42:26
716
原创 Java:Map
本文介绍了Java中Map集合的常用方法及三种遍历方式。Map常用方法包括put()添加元素、size()获取集合大小、clear()清空集合、isEmpty()判断空、get()获取值、remove()删除键值对、containsKey()/containsValue()判断键值存在等操作。Map遍历的三种方式:1)通过keySet()获取键集合后遍历取值;2)通过entrySet()获取Entry键值对集合遍历;3)使用forEach结合Lambda表达式遍历。文章通过代码示例详细演示了每种方法的使用场
2025-07-17 17:50:33
1189
原创 Java:Collection案例:斗地主
第一步:为了表示每一张牌有哪些属性,首先应该新建一个扑克牌的类。第三步:接着再完全洗牌、发牌、捋牌、看牌的业务逻辑。第二步:启动游戏时,就应该提前准备好54张牌。注意是有==s == 的。
2025-07-17 15:07:30
271
原创 Java:Collection集合 迭代器Iterator 并发修改异常
摘要:使用迭代器遍历集合时直接调用集合的remove()方法会导致并发修改异常,因为迭代器不允许在遍历过程中修改集合。正确做法是使用迭代器自身的remove()方法删除元素
2025-07-15 15:37:15
148
原创 Java:指定TreeSet排序规则的两种方法 Comparable
TreeSet排序规则可通过两种方式设置:1)元素类实现Comparable接口并重写compareTo方法,如Student类按age排序;2)创建TreeSet时传入Comparator比较器对象,如按height排序。
2025-07-15 15:23:21
154
原创 Java :List,LinkedList,ArrayList
本文介绍了Java中List集合的常用操作及原理。主要内容包括:1)List基本方法演示,如添加、删除、获取和修改元素;2)List的四种遍历方式:普通for循环、增强for、迭代器和forEach;3)ArrayList底层基于数组实现,通过创建新数组实现扩容;4)LinkedList采用双向链表结构,可用于实现队列和栈,演示了入队/出队和入栈/出栈操作。文章通过代码示例直观展示了List集合的核心功能和使用场景。
2025-07-15 13:53:01
342
原创 Java:集合,Collection
ArrayList、LinkedList、HashSet、LinkedHashSet、TreeSet集合都可以调用下面的方法。:单列集合,每个元素(数据)值包含一个值。: 双列集合,每个元素包含两个值(键值对)
2025-07-15 13:24:10
605
原创 MySql:sql语句中数据库别名命名和查询问题
摘要:本文分析了SQL查询中常见的两个错误。首先指出sql语句的执行顺序,其次解释了子查询中表别名导致的问题,内层查询应避免使用外层别名或统一使用。
2025-07-14 11:33:23
249
原创 MySql:多表查询——子查询
SQL子查询摘要 子查询是指嵌套在SQL语句中的SELECT查询,主要分为四类: 标量子查询(返回单个值) 列子查询(返回单列多行) 行子查询(返回单行多列) 表子查询(返回多行多列) 子查询可出现在WHERE、FROM或SELECT子句中。标量子查询常用比较运算符,列子查询常用IN/NOT IN等操作符。行子查询可以同时比较多个字段,表子查询常作为临时表使用。
2025-07-07 21:54:48
913
原创 Integer缓冲区
本文通过Java代码示例分析了Integer对象的比较结果。总结指出Integer常量池缓存范围为-128到127,在此范围内的自动装箱会复用对象。
2025-07-05 17:27:05
331
原创 Java:包装类自动装箱拆箱
JDK1.5及以上版本支持基本类型与包装类的自动装箱和拆箱机制。自动装箱将基本类型值转为包装类对象(如Integer o = 1),自动拆箱则反向转换(如int i = o)。使用时需注意:1)不同类型间不能自动转换(如int与Long);2)Byte、Short、Character赋值需考虑常量优化机制(如Byte仅支持-128~127范围)。代码示例展示了合法操作(Long l2=23L)和非法操作(Long l=2),并强调类型一致性是自动转换的前提。该特性简化了类型转换,但需严格匹配类型和数值范围。
2025-07-05 16:46:29
295
原创 Java : 多态 向上转型特点
Java继承中成员变量和方法调用的规则可总结为:成员变量遵循:编译看父类,运行看父类的原则,而成员方法遵循:编译看父类,运行看子类
2025-07-03 16:50:50
210
原创 数据库:多表设计
摘要: 本文介绍了数据库外键的概念及分类(一对多、一对一、多对多),物理外键通过SQL定义关联,但存在性能影响、不适用分布式系统等问题。当前企业开发中普遍推荐使用逻辑外键替代物理外键。
2025-07-03 11:04:00
527
原创 不引入变量 异或交换的缺点
文章提供了标准的交换方法(使用中间变量)和异或交换方法,并指出异或方法在i=j时会导致数据错误归零的问题。建议直接使用引入中间变量的标准交换方法。
2025-07-02 14:59:54
347
原创 Java:二维数组
本文介绍了Java二维数组的初始化方式和使用注意事项。主要内容包括:1)直接赋值和简化初始化语法;2)不规则二维数组的创建方法;3)常见的错误写法与正确替代方案;4)通过杨辉三角案例展示二维数组的实际应用。
2025-07-02 13:48:55
247
原创 MySql:DDL,增删改查:创建表
本文介绍SQL创建表的基本语法和设计流程。主要内容包括:1) 建表语法结构,包含字段定义、类型、约束和注释;2) 5种常见约束(主键、唯一、非空等)的作用;3) 数值、字符串、日期三类数据类型的选择;4) 通过员工表和用户表两个实例演示建表过程;5) 表设计的基本流程:分析需求文档→确定字段属性→添加业务基础字段。文章提供了完整的SQL示例代码,帮助理解如何根据业务需求创建规范的数据库表结构。
2025-06-24 17:04:24
323
原创 图形化界面:IDEA中的数据库(二)
本文简要介绍了数据库图形化管理工具的基本操作。界面包含SQL执行窗口和可视化操作区域,支持通过点击创建数据库(Create Database)。重点说明删除操作需使用"Drop"而非"Delete",遇到删除后仍显示的情况可通过刷新或强制刷新解决。同时演示了如何切换数据库,以及通过右键菜单调出SQL控制台窗口进行语句操作。虽然图形化界面便捷,但强调实际工作中仍需掌握SQL语句的编写能力。
2025-06-24 16:10:53
285
原创 [08001] CLIENT PLUGIN AUTH is required.使用idea创建数据库连接
IDEA连接MySQL失败可能是由于版本不兼容问题。解决方案是在选择数据库驱动程序时,将默认的MySQL Connector改为“MySQL for 5.1”版本。
2025-06-24 10:12:19
329
原创 label标签:跳出循环
Java标签跳转示例:通过label1:和label2:标记循环,演示break和continue的跳转控制。当使用break label1时会直接终止外层循环;而continue label2则跳过当前内层循环的剩余代码,继续下一次迭代。该代码展示了两种跳转方式的不同效果:前者只执行部分循环,后者完整执行5行但每行跳过j=3时的打印。标签跳转提供了更灵活的循环控制机制。
2025-06-23 18:32:41
186
原创 输出*,输出星号
本文通过Java代码示例展示了四种不同对齐方式的星号图案打印方法:左对齐、居中对齐、倒置居中对齐和右对齐。每个示例都包含完整的循环控制逻辑,清晰地演示了如何通过控制空格和星号的数量来实现不同对齐效果。对于居中对齐和倒置居中对齐的图案,作者特别指出需要先观察空格和星号的规律才能正确编写条件。
2025-06-23 17:28:26
370
原创 不用idea,记事本写helloworld
且一个代码文件中只能有一个public的class,可以有其他多个不被public修饰的class。如果class是public修饰的,那么这个class的类名一定要和文件名一致。此时我们已经得到.class文件。运行字节码文件==(但是不加后缀)==右击打开cmd输入javac 命令。新建记事本,后缀改为“.java”用记事本打开,然后编写代码。** 可能出现的问题 **
2025-06-17 09:08:45
193
原创 Java:JDK8 新特性:Lambda表达式
本文介绍了Java中Lambda表达式的基本概念和使用规则。Lambda表达式是JDK8引入的一种语法,专门用于简化函数式接口的匿名内部类写法。需要注意的是,Lambda不能用于简化所有匿名内部类,仅适用于函数式接口。
2025-03-25 19:58:24
378
原创 Java:Arrays类排序(自定义对象)
这里没有直接用身高差是因为是得出的结果是double类型,但是要求的返回值是int类型。Arrays.sort 方法通过调用自定义类中重写的 compareTo 方法来实现排序,开发者只需在自定义类中实现 Comparable 接口并定义比较逻辑即可。让该类的对象实现Comparable(比较规则)接口,然后重写compareTo()方法,自己制定比较规则。使用sort()方法,创建Comparator比较器接口的匿名内部类对象,然后自己制定比较规则。写代码的时候是没有异常的,但是运行时异常。
2025-03-21 11:07:34
411
原创 Java:Arrays类:操作数组的工具类
因为自定义对象,Arrays类不知道用什么方法进行排序,此时我们就要自定义比较规则。(详见笔记,写出来会放链接)
2025-03-19 21:01:40
239
原创 Java:LocalDateTime(代替Calendar)、ZoneDateTime(时区时间)
的,每次修改 或者加减 都要新建一个对象。LocalXxx对象是。
2025-03-09 20:31:49
603
原创 Java:泛型(泛型学完基本知识就学完了)
E T K V泛型方法去限定,不能让随便传东西Bens的类虽然extends Car类,但是 go()的参数要的是ArrayList,是Car,本质上还是不一样,不呢个这么写?通配符,使用泛型时代表一切类型用这个方法也是对传进来的参数类型做了限定,People和Dog就不能传。传进来的参数ArrayList<>的类型只能是Car或者是Car的父类擦除问题 和 基本数据类型问题那么要怎么办呢,用包装类Integer,就不会报错了
2025-02-27 20:44:24
243
原创 JAVA打乱数组
对数组遍历,每遍历到一个数据,都随机一个索引值出来,让当前数据与该索引位置数据进行交换。随机排序:给数组{1,2,3,4,5},打乱后输出。
2025-02-21 21:25:57
115
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人