- 博客(4)
- 收藏
- 关注
原创 彻底理解java中HashMap的“冲突”问题及hashCode和equals方法重写问题
众所周知,HashMap是Java知识点里的重中之重,也是面试、尤其是中高级程序员面试中的必考点。扎扎实实把hashMap的底层原理搞清楚是十分必要的。首先,关于HashMap的底层原理,数组+链表(java8之后改为数组+链表+红黑树)存储结构,以及“碰撞”/“冲突”,初始大小,负载因子,rehash()等等这些概念及原理,相信大家都知道的八九不离十了,网上也有海量相关文章,本文不再论述这些内容。但是,最近在复习这些知识的时候,发现了一个以前没有注意到的细节问题——到底什么情况下会发生“碰撞/冲突”?
2020-06-27 16:22:38
4267
4
原创 三级分类java代码
电商项目里常见的三级分类,代码如下:首先,Category实体类:public class Category { private Integer id; private Integer pid; private Integer c_level; private String c_name; private Integer sort; private List<Category> children; public Categor
2020-06-18 23:12:17
3607
3
原创 Java8 StreamAPI的forEach方法与Iterable 接口的forEach方法对比(及peek方法)
最近在听一个课程的时候,发现里面有一处需要遍历一个集合,对元素进行某种操作(比如set某个属性),该讲师用的是map(),在map方法里返回一个更新后的元素。而对于此功能,自己首先想到的是forEach()方法,因为在我之前的概念里,forEach()方法才是用来遍历操作的,而map是用来将一个类型的集合映射为另一个类型的集合(当然,映射为同一个类型也无可厚非)。于是自己详细测试了forEach方法,发现这里面还是有些门道的!下面详说: List<Student> students
2020-06-18 22:51:55
1784
原创 SpringBoot传递单一参数时@RequestParam和@RequestBody的区别
用SpringBoot框架做项目时,经常需要前端给后端传递参数,如果需要多条参数,通常的做法是把这些参数封装为一个对象来传递,前端用POST方式调用。但有时会遇到后端只需要一条参数(比如一个String)的情况,此时如果还封装为一个对象,有些多余;最好的办法是用GET方式调用,直接把参数拼接在url后面。但,一般项目都有统一的接口规范,要求接口都要用POST方式,此时就遇到一个问题:controller方法上到底是用@RequestParam注解还是用@RequestBody注解?之前对这两个注解的区别
2018-12-14 23:17:24
20112
7
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人