今天在写二叉树建立过程中,学习一下LinkedList 为什么不便于遍历?
首先来看一下,
在这里使用了LinkedList的get方法,查看一下get源码,如下,你可以发现首先要校验索引范围,然后遍历查找元素
checkElementIndex源码,如果不在范围内(0-size),则抛出越界异常
遍历查找为什么慢?看一下。链表查找,首先将要查找的索引与size进行比较,如果小于1/2size则从头遍历到链表中间,若大于,则从最后位置向前遍历到中间。
因此,如果你查找的元素位于越靠近中间,则查找速度越慢。而且链表不支持随机访问