我是一个 java 初学者,目前学到了 java 集合类,这个老师对基础学习的学习非常友好,而且学到集合开始,很多知识点的讲解都是先讲基础用法,然后再简单分析底层源码,但是我快把整个集合类的基础听完了,我发现之前讲过的底层源码,并不是很清晰的理解,就是想问一下现在初学过程中,需不需要把比如 ArrayList ,LinkedList 这些底层理解清楚?
1
28Sv0ngQfIE7Yloe 2022-02-08 11:50:55 +08:00 1
需要
1.面试会问 2.工作中也需要选择合适的数据结构完成需求(不过 LinkedList 的作者自己平常都不用 LinkedList (笑)) |
2
echo1937 2022-02-08 11:52:22 +08:00 via iPhone 1
能听懂多少算多少,以后慢慢会加深理解的。
就像你现在日常生活也用不到四则混合运算以外的大部分数学知识,但是你觉得它没用 /不用学习吗。 |
3
thetbw 2022-02-08 11:52:34 +08:00 1
推荐一个本书《漫画算法》,还蛮有意思的。刚开始不了解也没事吧,你只要大概知道什么场景用什么存数据好点就行
|
4
xuanbg 2022-02-08 11:53:11 +08:00 1
ArrayList 是基于数组的一个集合的实现,LinkedList 则是基于链表的一个集合的实现。与其关注如何实现,还不如理解数组和链表这两个数据结构的特点和应用场景。
我的建议还是从了解数据结构和算法开始,上层建筑还是要有稳固的基础去支撑的。 |
5
MakHoCheung 2022-02-08 12:13:28 +08:00 1
需要。比如不了解 HashMap 或者 HashSet 的 Hash 原理就不知道 Object#hash 的重要性,写代码就很容易出问题。当然也可以出问题了再去了解😂
|
6
Chase2E 2022-02-08 13:14:01 +08:00 1
初学者一定要安排时间学习数据结构,可以先学会 Java 的基础用法,然后用 Java 去按照课本挨个实现不同的数据结构
学完之后基本上大多数代码上的问题都会想清楚 |
7
ikas 2022-02-08 13:40:24 +08:00 1
既然是初学者.就算你花大量时间研究这些源码,也是一知半解
等你学的多了,做的多了,然后在潜心研究下 前期的时间,多学基础,多写代码 |
8
sagaxu 2022-02-08 13:42:53 +08:00 via Android 1
面试要问,有些还会问这些容器在不同版本 JDK 中的实现细节差异
|
9
huntagain2008 2022-02-08 14:09:10 +08:00 1
我是小白,以前是靠记忆写过 LinkedList,笔试题有要你实现链表的题目。
|
10
goalidea 2022-02-08 14:28:07 +08:00 1
八股文必须要背的,不然你连面试都过不了,何来工作这一说
|