粉丝45.1万获赞214.5万

hello, 程序员呢,经常会遇到灵魂拷问,你有对象吗?没有,但我可以 new 一个,就像这没问题,但是如果对象的属性太多怎么办呢?比如说我们看这样的一个类,我们要这样的一个个用 set 方法去构造呢,会显得有点麻烦, 他的缺点呢是实力化和设置属性呢,分开了不好维护,变两名呢重复写,那我们有什么好的解决方法呢?比如说我这边提供了一个通用的 bud 模式构建器, 里面有很多的函数式接口,我们来看一下是怎么使用的。比如说我先用 build off, 然后传入了一个函数引用,然后我们就给大家去进行一个初始化,然后呢再用 with 方法进行一个链式调用, 把我们很多很多的一个啊属性值呢给大家设置进去,然后最终调用这样的一个 beauty 方法,就可以让所有的一个值呢设置进去,而且呢 还支持我们立斯特和 map 这种属性值,是不是很方便呢?我们先来看一下这样的一个 off 方法,我们传入的呢其实就是我们当前实力的一个对象,然后我们点进去看一下,然后这个里面呢其实我们就相当于给他扭了一个 build 的一个呃实力,然后呢把我们这样的一个参数传进去, 那其实呢就是相当于给这个 supplier 接口进行初始化,然后我们再来看一下这个位置方法是怎么用的。这个位置方法呢,它里面提供了一个函数式接口,这是我们自己写的自定义的,然后呢里面提供两个参数,一个是 t, 一个是 p, 然后呢我们调用他的一个 accept 方法,传进了两个值,然后呢我们相当于创建了这样的一个 consumer 的对象,把它加到我们这样的一个呃 list 里面,然后我们最终看一下 build 的方法不,这样的一个方法呢,其实就是先拿到我们的实力对 像意思,便利我们的 ctrl 对象,然后意思去调用他的 cept 方法,然后就把我们的这样的一个实力值传进来,然后其实就相当于调用了这样的一个方法,对吧? 然后呢这个是我们的实力对象,这个就是我们的参数值,然后调用这个之后呢,就相当于调用这个实力里面的赛的方法,然后把我们的这个参数值给设置进去,也比较的简单。那如果说大家想要这样的一个 demo 以及之前的 demo 的话呢,可以到这来 这,然后给他去发一个消息,像这样就可以拿到我们的 demo。 好,今天的一个分享呢,就到这。

啊,抖音上还有加袜支付呀。你好。哎,你好,你讲一下这个哈西 map 底层用的什么数据结构?嗯,哈西 map 底层的数据结构,这个在 j t k 一点七中,哈西 map 的底层数据结构是数组加链表, 在 jdk 一点八中,链表这里可能转化成红黑树。嗯,你哈士亮比的这个链表什么时候能够转化成红黑树? 这个这个就当哈西 map 理链表中的元素个数大于八,并且数组的长度大于等于六十四时,才会将链表转为红黑数。嗯,还可以啊,那为什么这个哈西 map 的链表呢?转化的是红黑数而不是平衡二 二叉数呢?这个不太清楚,感觉就是横汇数和平衡二叉数。这种对应健身来说是不是就是有点太复杂了? 嗯,也对啊,那要不讲一个哈西 map 的扩容机制吧。哈西 map 的扩容机制?嗯,这个我知道的,就是如果数组的长度达到初始容量乘以负载因子,再插入元素,就需要扩容操作嘛。 扩容就分为两步,首先就是创建一个新的 ancieno 的空数组,然后长度是原数组的两倍, 其次是,呃,便利原 ancieno 的数组,把所有的 ancieno 的节点重新哈吸到新数组。嗯,那哈吸算法是怎么实现的呢?呃,这个,这 歌也不是很清楚哎,感觉你对这个算法基本上是一无所知啊。我看抖音上好像不是有个扎瓦之父吗?初中学历就可以手写哈奇迈普呀,这个应该很简单吧。啊,抖音上还有扎瓦之父呀。哎,好吧,那就这样吧,拜拜。嗯,拜拜。拜拜。