ArrayList集合在查询元素时速度很快,但在增删元素时效率较低,为了克服这种局限性,可以使用List接口的另一个实现类LinkedList。LinkedList集合内部包含有两个Node类型的first和last属性维护一个双向循环链表,在链表中的每一个元素都使用引用的方式来记住它的前一个元素和后一个元素,从而可以将所有的元素彼此连接起来。当插入一个新元素时,只需要修改元素之间的这种引用关系即可,删除一个节点也是如此。正因为这样的存储结构,所以LinkedList集合对于元素的增删操作表现出很高的效率,LinkedList集合添加元素和删除元素的过程如图所示。
在图6-5中,通过两张图描述了LinkedList集合新增元素和删除元素的过程。其中,左图为新增一个元素,图中的元素1和元素2在集合中彼此为前后关系,在它们之间新增一个元素时,只需要让元素1记住它后面的元素是新元素,让元素2记住它前面的元素为新元素就可以了。右图为删除元素,要想删除元素1和元素2之间的元素3,只需要让元素1与元素2变成前后关系就可以了。LinkedList集合除了从接口Collection和List中继承并实现了集合操作方法外,还专门针对元素的增删操作定义了一些特有的方法,如下所示。
方法声明 |
功能描述 |
void add(int index, E element |
在此列表中指定的位置插入指定的元素。 |

LinkedList作为Java中List接口的实现类,相较于ArrayList在元素增删方面具有高效率。其内部通过双向循环链表结构,利用节点间的引用关系实现快速的插入和删除。本文详细介绍了LinkedList的添加、删除和查找操作,并通过示例代码展示了其实用方法,如add(), offer(), push(), peek(), removeFirst(), pollLast()等,证明了LinkedList在元素增删查操作上的便利性。"
106042241,9465913,MyBatis自定义类型转换器实现,"['MyBatis', '数据类型转换', 'Java开发', '数据库交互']


被折叠的 条评论
为什么被折叠?



