V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Poluk
V2EX  ›  Java

对于 Java 基础学习者,“目前”集合学习过程中有必要清楚理解底层原理吗

  •  1
     
  •   Poluk · 140 天前 · 1948 次点击
    这是一个创建于 140 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我是一个 java 初学者,目前学到了 java 集合类,这个老师对基础学习的学习非常友好,而且学到集合开始,很多知识点的讲解都是先讲基础用法,然后再简单分析底层源码,但是我快把整个集合类的基础听完了,我发现之前讲过的底层源码,并不是很清晰的理解,就是想问一下现在初学过程中,需不需要把比如 ArrayList ,LinkedList 这些底层理解清楚?

    10 条回复    2022-02-08 14:28:07 +08:00
    Morii
        1
    Morii  
       140 天前   ❤️ 1
    需要
    1.面试会问
    2.工作中也需要选择合适的数据结构完成需求(不过 LinkedList 的作者自己平常都不用 LinkedList (笑))
    echo1937
        2
    echo1937  
       140 天前 via iPhone   ❤️ 1
    能听懂多少算多少,以后慢慢会加深理解的。
    就像你现在日常生活也用不到四则混合运算以外的大部分数学知识,但是你觉得它没用 /不用学习吗。
    thetbw
        3
    thetbw  
       140 天前   ❤️ 1
    推荐一个本书《漫画算法》,还蛮有意思的。刚开始不了解也没事吧,你只要大概知道什么场景用什么存数据好点就行
    xuanbg
        4
    xuanbg  
       140 天前   ❤️ 1
    ArrayList 是基于数组的一个集合的实现,LinkedList 则是基于链表的一个集合的实现。与其关注如何实现,还不如理解数组和链表这两个数据结构的特点和应用场景。
    我的建议还是从了解数据结构和算法开始,上层建筑还是要有稳固的基础去支撑的。
    MakHoCheung
        5
    MakHoCheung  
       140 天前   ❤️ 1
    需要。比如不了解 HashMap 或者 HashSet 的 Hash 原理就不知道 Object#hash 的重要性,写代码就很容易出问题。当然也可以出问题了再去了解😂
    Chase2E
        6
    Chase2E  
       140 天前   ❤️ 1
    初学者一定要安排时间学习数据结构,可以先学会 Java 的基础用法,然后用 Java 去按照课本挨个实现不同的数据结构
    学完之后基本上大多数代码上的问题都会想清楚
    ikas
        7
    ikas  
       140 天前   ❤️ 1
    既然是初学者.就算你花大量时间研究这些源码,也是一知半解

    等你学的多了,做的多了,然后在潜心研究下

    前期的时间,多学基础,多写代码
    sagaxu
        8
    sagaxu  
       140 天前 via Android   ❤️ 1
    面试要问,有些还会问这些容器在不同版本 JDK 中的实现细节差异
    huntagain2008
        9
    huntagain2008  
       140 天前   ❤️ 1
    我是小白,以前是靠记忆写过 LinkedList,笔试题有要你实现链表的题目。
    goalidea
        10
    goalidea  
       140 天前   ❤️ 1
    八股文必须要背的,不然你连面试都过不了,何来工作这一说
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4223 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 08:47 · PVG 16:47 · LAX 01:47 · JFK 04:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.