
数据结构那点事
文章平均质量分 91
课么多巨蜥
喜欢自学习的傻瓜式学习者,喜欢很多有意思的东西,学习能力强。希望和大家一起学习进步
展开
-
HashMap put方法的底层实现原理
前言:HashMap这种数据结构在大部分开发场景用处都非常多,因此我们在使用的时候也必须去了解其底层原理,方便我们可以在使用的时候能熟练根据其设计优化我们的程序,后面我就围绕几个问题展开讲解,尽量通俗易懂。 1、hash计算索引的过程是怎样实现的?设计上有哪些点值得我们学习 2、hashMap扩容底层实现原理? 3、我们知道hash初始化长度规定要16倍数的长度,为什么,如果不是16的倍数长度会造成什么影响? 4、尾插法解决什么问题? 如果你对这四个问题也感兴趣,请往下看,分享思路。 一、has原创 2021-09-10 11:26:40 · 1129 阅读 · 0 评论 -
Float直接转BigDecimal会导致精度丢失,得先转成String 再转BigDecimal
@Test public void test17() { Float f = 12.635f; System.out.println(new BigDecimal(f)); BigDecimal mon = new BigDecimal(Float.toString(f)); System.out.println(m...原创 2020-03-06 17:38:08 · 1352 阅读 · 0 评论 -
Comparator类中的compare(T o1,T o2)和compareTo()的使用与疑惑解答
这几天做项目刚好遇到需要排序的需求,大概就是你查询一个list,然后list中保存的是map数据,你需要根据map中的若干个数据排序,比如说 List<Map<String, Object>> list = new ArrayList<>(); Map<String, Object> yuan = new HashMap<>();...原创 2018-08-07 15:21:47 · 12840 阅读 · 5 评论 -
二叉树的非递归先序,中序,后序遍历
前几天面试美团的java后台岗位,第一题就是手写二叉树非递归先序遍历,当时我就不乐意了。然后其实能想出来的,但是没私底下实现过,还真没把握给面试官,最后挂了。所以痛定思痛,我们来手写一下二叉树的非递归先序,中序和后序遍历,并对其中的逻辑部分进行步骤的讲解,我觉得一切的东西你只要给他赋予一定的规则,那么它就没那么难了(后面的部分不适合对数据结构不熟悉的同学) /** * 非...原创 2018-09-17 13:19:06 · 258 阅读 · 0 评论 -
springboot AOP对于相同切点,相同的方法去执行,切点的优先级以什么为准
提问:有4个相同的切点,切一个方法。然后还有4个相同的方法分别执行不同的方法,那么请问,对于这4个相同的切点,哪个优先级高,以什么为标准? 为什么要提出这个问题:完全是不小心想到这个问题 最终结果:最终没有找到源码依据,完全是靠统计学中的规律学获得最终结果(博客最后给答案),可行性78%(瞎说的) 相同的数据:相同的类,相同的切点,相同的执行方法,相同的提示语句 不同的数据:声明顺序...原创 2019-07-05 10:38:45 · 1256 阅读 · 0 评论 -
springboot的AOP应用详解与demo
众所周知,AOP是spring的重要思想,那么springboot怎么使用AOP呢?AOP的作用是什么? AOP主要的思想就是切面编程,这种思想主要是想把我们的关注点统一提取出来统一管理。多的不说进入代码时刻 我用的是gradle版本管理工具,aop导入包 compile 'org.aspectj:aspectjtools:1.8.1' 然后我们先写一个控制层类,让aop来切这个类 ...原创 2019-07-05 10:40:06 · 222 阅读 · 0 评论