
Java基础
文章平均质量分 60
Java基础
zhihuan祉幻
这个作者很懒,什么都没留下…
展开
-
Java基础-HashMap中containsKey方法的时间复杂度分析
现有场景是两个User对象的List,A中只有id跟用户名,B中有id跟登录时间,现在我们要把他们合成一个完成的User的List我们直接暴力的的解法就是两个for循环,然后判断id是否相等,相等就给A中复制对应的登录时间。这样这段代码时间复杂度就是O(n^2)然后一般的推荐做法就是我们将其中一个list转为Map,id为key,对象或者直接登录时间为value,然后只需要一遍for循环然后通过containsKey判断id,然后直接进行赋值,那么这样我们整体的时间复杂度就是O(n)了这里我们就来探究原创 2021-06-14 18:14:08 · 3577 阅读 · 1 评论 -
Java基础-StringBuilder类型和StringBuffer类型与String类型相互转换
将String类转换成StringBuilder类:String s = “某某某”;StringBuilder sb = new StringBuilder(s);将StringBuilder转换成String类(同StringBuffer类转换成String类)StringBuilder sb = new StringBuilder();String s = “”+sb;将Stri...原创 2019-10-18 21:34:05 · 1139 阅读 · 0 评论 -
Java基础-Java之为什么重写equals方法之后一定要重写hashCode方法?
**牢记这一点:java里定义两个对象hashCode相等,equals不一定相等;equals相等的话,它hashcode一定相等我们拿HashSet举例:首先我们知道它是没有顺序,不重复的;那么如何判断新添加的值跟已有的值不重复,就需要先hashCode计算一下位置;然后位置上有值的话就用equals判断值是否相等,如果相等。就说明重复了,插不进来,返回flase;好,假设你不重写hashcode。假设set里面已经有"张三"了,现在再插入一个"张三",你hashcode不重写计算出来的位置原创 2020-12-23 14:32:23 · 381 阅读 · 5 评论 -
Java基础-IO-实体类为什么最好需要序列化
什么是序列化?序列化可以保存我们实体类的状态,就是保存当前的类中属性的状态到硬盘中,保证下次或者在其他服务里可以接着使用这个类中的属性的时候,就是序列化。序列化注意的点?序列化只序列对象的属性,不管方法静态类成员不序列化,因为静态属性是属于类的,我们序列化是针对目前的对象状态transient关键字修饰的属性不序列化什么场景需要序列化?需要对对象进行IO操作持久化Mybatis开启了二级缓存且配置文件中readOnly属性默认为false在分布式系统中传递当前实体类对象· 需要对原创 2021-06-12 17:29:09 · 2728 阅读 · 1 评论