自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 收藏
  • 关注

原创 Collections工具类

【代码】Collections工具类。

2024-07-20 17:15:31 160

原创 二叉树

int val;

2024-07-20 11:35:36 303

原创 开发中如何选择集合实现类(记)

无序:HashSet 底层是HashMap,维护了一个哈希表(数组+链表+红黑树)插入与取出顺序一致:LinkedHashSet 维护数组+双向链表。增删多:LinkedList 底层维护了一个双向链表。键无序:HashMap 底层是哈希表 jdk8:数组+链表+红黑树。先判断存储对象(一组对象[单列] 或 一组键值对[双列])读取文件Properties。一组对象[单列]:Collection接口。键排序:TreeMap。一组键值对[双列]:Map。主要取决于业务操作特点。

2024-07-19 12:13:05 162

原创 Hashtable

继承了Hashtable类,且实现了Map接口 ,同样以键值对的形式来保存数据,但键和值都是字符串类型使用特点和Hashtable类似,所以k-v都不能为nullProperties 还可以用于从 xx.properties文件中,加载数据到Properties类对象,并进行读取和修改xxx.properties通常作为配置文件(io流中有)

2024-07-19 11:58:08 206

原创 数组 59.螺旋矩阵Ⅱ

需要考虑多个点如何进行处理,即处理时每行从第几个数开始,到第几个数结束,这里选择左闭右开圈数问题,多圈数需要往进旋转,会产生边界待处理数字的增多,可自行画n=3,n=5时的情况,若不考虑此情况,致使后续圈一直在第一圈的位置进行覆盖还需要考虑每一圈的起始位置,若不考虑,同上一问题,后续的值会对前面的值进行覆盖。

2024-07-18 18:54:22 129

原创 Map接口

Map,Set都会用到 [key,value],但Set中的value是用一个PRESENT常量来替代,实际过程中并没有使用。

2024-07-18 16:47:31 288

原创 209.长度最小的子数组 数组 双指针 滑动窗口

因为只需要一个最小值,所以每次只保留一个值即可,这里选择用一个足够大的值与窗口值,即Integer.MAX_VALUE,第一次满足要求后,将获取到的窗口长度与其相比,取小。一定能够将length更新为此时的窗口长度,即length为第一次窗口长度。第二次比较时,length代表第一次窗口长度,right-left+1,为第二次满足要求的长度,以此类推。还有一个关键在于,如何获得最小的窗口长度,每次满足要求,窗口长度都会变化,如何能不断更新以获得其最小值。滑动窗口,重点在如何保持移动。

2024-07-17 17:18:38 204

原创 数组 牛客网

108从100开始,第二个102a数组比b数组长char;char第一个是 字符串,第二个是字符数组 ,字符串以'\0'为结束符号,字符数组不用。它们长度相 同,但是占的内存字节数是不一样的数组A的每个元素需要4个字节存放,数组有8行 10列,若数组以行为主顺序存放在内存SA开始的存储区中,则A中8行5列的元素的位置是(SA+2968行5列元素的位置,指的是起始位置,即上个元素的终止位置若二维数组 a 有 m 列,则计算任一元素 a[i][j] 在数组中的位置公式为(

2024-07-17 16:32:26 317

原创 数组 977.有序数组的平方 双指针

关键在于如何运用双指针,有序数组的平方值,一定是从最左和最右往中间递减。

2024-07-16 17:34:56 267

原创 数组 27.移除元素 双指针

双指针,覆盖原数组得到新数组,slow即所得新数组的大小。

2024-07-16 16:51:19 80

原创 数组 704.二分查找法

middle = (left + right)/2 与 left+ (right - left)/2两个最大值的int类型相加,可能会造成越界,目的是求均值,故先减后加,防止越界。

2024-07-16 16:29:32 141

原创 Set接口 HashMap HashSet

Set接口是Collection的子接口,常用方法和Collection相同。执行add方法后,实际上返回一个boolean值。底层机制说明 0519 - 0524。

2024-07-16 15:37:57 205

原创 LinkedList

源码图解0515toString重写next prev 产生问题。

2024-07-16 10:30:27 675

原创 List接口, ArrayList Vector LinkedList

Collection接口的子接口子类Vector,ArrayList,LinkedList1.元素的添加顺序和取出顺序一致,且可重复2.每个元素都有其对应的顺序索引。

2024-06-29 19:00:25 451

原创 集合,Collection接口

可动态保存任意多个对象,使用比较方便提供了一系列方便操作对象的方法:add,remove,set,get等使用集合添加删除新元素,代码简洁明了。

2024-06-29 17:46:01 282

原创 练习 String翻转 注册处理 字符串统计

输入 Tony Smith Willam 输出 Willam Tony W。输入用户名,密码,邮箱,输入正确,则提示注册成功,否则生成异常对象。将字符串中指定部分进行翻转。

2024-06-29 16:24:19 187

原创 java日期类

1.Date 精确到毫秒代表特定的瞬间2.SimpleDateFormat 格式化和解析日期的具体类 P488有问题,未处理。

2024-06-27 22:08:10 142

原创 System类

【代码】System类。

2024-06-27 20:56:44 80

原创 练习 书的排序

【代码】练习 书的排序。

2024-06-27 20:27:01 84

原创 Math,Array

方法都为静态,直接通过Math. 调用即可。

2024-06-26 21:01:26 183

原创 StringBuffer

长度可变,是一个容器,在父类AbstractStringBuffer中有属性char[]value,存放在堆中StringBuffer为final类,不能被继承保存的是字符串变量,更新值时不用更新地址。

2024-06-26 20:09:59 216

原创 String常用方法

split=poem.split("\/\/") // 有特殊字符,需加入转义符\。获取字符串对象最后一次出现的索引,从零开始,若无,返回-1。获取字符串对象第一次出现的索引,从零开始,若无,返回-1。2.长度相同或不同,但可以区分大小,就返回。左闭右开 ,获取从0开始,到4的字符。1.长度相同,内容相同,返回0。将s1中的a替换成b。

2024-06-26 16:37:54 157

原创 包装类wrapper,String

先从堆中创建空间,里面维护了value属性,指向常量池“a”的空间。如果没有,重新创建。如 果有,直接通过value指向,最终指向堆中的空间地址。先从常量池查看是否有“a” 的数据空间,如果有直接指向,如果没有,则创建一个,再指向。s 指向的是常量池的空间地址。

2024-06-26 16:05:26 154

原创 异常

程序中出现错误,该错误并没有在Throwable的子类中描述,此时可以自己设计异常类,用来描述该错误信息1.定义类:自定义类名,继承Exception(编译异常),或RuntimeException(运行异常)

2024-06-17 21:23:03 708

原创 枚举,注解

使用Annotation时要在前面增加 @ 符号,并把该Annotation当做一个修饰符使用,@Override:限定于某个方法,是重写父类方法,只能用于方法@Override注解,若写,系统就会去检查该方法是否重写了父类的方法,如果没有,则报错@Target是修饰注解的注解,称为元注解@Deprecated:用于表示某个程序元素(类,方法等)已过时a.hi();//1.@Deprecated 修饰某个元素,表示该元素已经过时//2.即 不推荐使用,但仍可以使用。

2024-06-15 19:26:01 901

原创 内部类

一个类的内部又完整的嵌套了另一个类结构,被嵌套的类称为内部类,嵌套其他类的类称为外部类外部其他类:即其他类特点:可以直接访问私有属性,并且可以体现类与类之间的包含关系PS:底层源码中,有大量的内部类。

2024-06-14 21:23:23 246

原创 接口

就是给出一些没有实现的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来,(确实很像抽象)实现接口,就是实现接口的方法。

2024-06-14 20:17:52 285

原创 抽象类

比如,animal有多个子类,都会继承eat()方法,子类需要继承该方法,但各自的实现不同,即父类实现了eat()方法,没有意义,此时就可以将父类和该方法声明为abstract抽象方法就是没有实现的方法,不能有方法体抽象类会被继承,由子类实现。

2024-06-14 16:46:23 124

原创 设计模式

1.采取一定的方法保证在整个软件系统中,对某个类只能存在一个对象实例,并且该类只提供一个取得其对象实例的方法人话:一个类只能有一个对象实例,只存在一个方法来获得这个唯一的对象2.饿汉式,懒汉式:①构造器私有化②类的内部创建对象③向外暴露一个静态的公共方法,用于获取对象④代码实现。

2024-06-14 15:22:52 150

原创 代码块

又名初始化块,没有方法名,没有返回,没有参数,只有方法体,而且不用通过对象或类显式调用,而是在加载类时,或创建对象时隐式调用基本语法1.修饰符可写可不写,若写只能写static2.static修饰的叫静态代码块,没有static修饰的叫普通 /非静态代码块3.逻辑语句没有限制4.;可写可不写代码块的调用优先于构造器,当多个构造器中都有重复语句,可以抽取到初始化块中,提高代码的重用性。

2024-06-14 14:36:07 349

原创 static,main

又名静态变量static同一个类所有对象共享static类变量,在类加载的时候就生成了(类加载)随类的创建创建,随类的消亡消亡。

2024-06-13 22:01:50 272

原创 房屋出租系统---hsp

韩顺平java 361-372。

2024-06-13 20:07:29 120

原创 java零钱通项目

1.一串代码尽量只完成一个功能,便于代码的可读性和维护性。零钱通,实现收益入账,消费,查看明细,退出系统等功能。2.判断条件,找出不正确的进行判断。

2024-06-12 17:13:47 112

原创 断点测试debug

F9 从第一个断点执行到第二个断点。shift+F8 跳出方法。

2024-06-10 20:45:16 75

原创 hashcode,toString,finalize,final

由Object类定义的hashcode会针对不同的对象返回不同的整数(通过将该对象的内部地址值转换成一个整数来实现)但不能将hashcode等价于地址。

2024-06-09 20:05:51 231

原创 重写equals

如果是两个对象进行比较,则判断的是地址是否相同,但如果我们需要判断两个对象中的内容是否相同,达不到我们想要的效果,因此我们需要重写equals方法。输出结果false,因为p1 p2 指向了不同的地址,我们需要判断的是他们的内容。

2024-06-09 19:20:54 186

原创 重写,多态

子类中有一个方法,与父类中的一个方法,名称、返回类型、参数都一样PS:1.子类返回类型若是父类返回类型的子类,也定义为重写。如String是Object的子类2.子类方法不能缩小父类的访问权限(public -> protected ->默认 -> private),可以扩大重载就是多个方法同名,但形参不同。重写为子类与父类方法相同。

2024-06-09 17:47:38 692

原创 继承,super

关键词extends,子类继承父类的所有非私有的属性和方法私有的属性和方法可以通过在父类定义一个公共的方法访问假设父类有一私有属性(年龄),私有方法(输出年龄),可通过以下代码进行调用。

2024-06-08 21:46:26 203

原创 封装与构造器,访问修饰符,

简单来说就是保护对象的数据,若想改变,只能通过被授权的方法来进行操作。

2024-06-08 18:01:56 259

原创 重载 +可变参数+ 构造器

系统默认有一个无参构造器,若已经定义,则无法使用这个无参构造器,但可以重新定义一个。参数数目可自定义,也可多个类型参数,但只能有一个可变参数,且必须在末尾位置。可变参数本质上是一个数组,即使用时以数组方式使用,也可以输入数组作为参数。不同方法重名,但形参不同。可以是数量不同,也可以是参数类型不同。构造器名与类名相同,无返回值,系统自动调用,也可重载。如person( ){ }PS:返回类型不会影响。

2024-06-07 16:34:54 206

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除