上一篇文章自定义实现了ArrayList集合,现在则自定义实现LinkedList。学过集合的读者都知道,ArrayList的底层实现是用数组实现,而LinkedList的实现则是用链表实现。那么什么是链表呢?其实可以把它比喻成一串珠子,珠子通过线来串连起来。要想找到中间的珠子,就只能通过第一个珠子或者最后一个珠子,一个一个的找下去,直到找到所要的珠子。
链表分为单向链表和双向链表,单向链表是指,只能通过前一个珠子找到后一个珠子或者只能通过后一个珠子找到前一个珠子,关联关系是单向的;双向链表是指,既能通过前一个珠子找到后一个珠子,同时也能通过后一个珠子找到前一个珠子,关联关系是双向的。
单向链表示意图:
或者:
双向链表示意图: