来看看这个 ArrayList 冒泡排序的问题也是服了,帮我举个例子

2022-08-10 11:20:45 +08:00
 byte10

背景

这个文章的例子,把我看懵了: https://mp.weixin.qq.com/s/3Fw2vfbkiGCsA_bys40TRg

我不知道怎么说服这位网友,他觉得解题的思路没问题。。。

我能想到的例子:

  1. 这不就是好比,我想去重启电脑,我按了一个电脑的按钮,结果电脑关机了。然后我拆开电脑发现它的短接电源开关的。。。然后给出结论这个按钮不能重启的原因:是短接了主板电源开关的。。导致了它无法做到重启的作用。
  2. 又好比我按了一个电饭锅的按钮,结果把饭煮成了粥,然后拆开电饭锅,发现这个按钮的功能是慢火慢煮,最终煮成粥的。结果怪这个按钮功能实现有问题。。然后列举这个按钮做不成饭的原因:是因为这个按钮的实现是慢慢煮,导致无法煮成饭。。。这思路。
  3. 又好比我去用方向盘去把车刹停,结果发现这个方向盘没法刹车 只能转弯。然后我一顿操作拆了这辆车,然后发现它只会让轮子转向,而不能让轮子刹车。得出的结论是方向盘只所以不能刹车的原因是:因为它只能让这个轮子发生偏转,而不能刹车,它只能转弯。。。

我的理解是:方向盘不能刹车,是因为它一开始定义的时候就不是用来刹车的,而不是它用了什么机械液压动力或者电子助力,而导致它不能刹车,不管你用什么技术去实现,去制作这个方向盘,它永远还是一样不能刹车。

总结:

你可以说方向盘不能刹车的原因是:因为它只能让轮子转向。。。但是你不能反过来说:因为方向盘用了电子助力转向,而导致它不能刹车。那你潜在的意思是说:方向盘还有其他的实现能做到刹车的功能?

我的解释是:不看接口定义的说明而用错了,然后举证说明是里面的各种实现有问题。。。add 方法不管如何实现都是无法替换的元素的,它定义就是在某个位置添加元素。

求助

我刚毕业那几年对知识理解也是会有点很乱,但是也不至于会这样的思考问题。

大家有没有什么好的例子来帮助这位小伙子,他思维经常很绕,总是把简单的问题复杂化。怎么才能帮助他突破思维的困局,思考问题的时候弄的简单一点。

1637 次点击
所在节点    程序员
24 条回复
Chinsung
2022-08-10 18:37:52 +08:00
槽点太多以至于不知道该怎么说,你让他自己在自己世界就好了,管他干啥
现在越是不懂越想装懂,恨不得把源码都背下来,项目经验也恨不得全部编出来,干这行这种人比比皆是
Chinsung
2022-08-10 18:40:13 +08:00
@Chinsung #21 再换句话说,这个人才难道不知道 java 也能用数组吗,用数组处理完再转回 list 不就完了?
Chinsung
2022-08-10 18:43:51 +08:00
@Chinsung #21 看了下别的文章,一个没什么经验比较肤浅的人,既然看到 Reentrantlock 了好歹说下看下 AQS ,然后翻了下最浅层的源码和公平锁非公平锁的构造器就结束了,啊这
byte10
2022-08-10 19:27:06 +08:00
@Chinsung 嗯,随便看了几篇,都是讲的比较浅的文章。另外你猜对,没啥经验倒是真的。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/871882

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX