本帖最后由 程金 于 2012-9-18 16:34 编辑
在LinkedList中有一个私有的内部类
private static class Entry {
Object element;
Entry next;
Entry previous;
}
LinkedList中每个对象都有一个相对应的Entry对象,每个entry对象都对应于列表中的一个元素,记录元素的前后位置信息
当你在linkedList中插入时(删除同理)
比如第n个位置后面插入一个对象时,只要将"n位置的对象中的next变量"和"n+1位置的对象中的previous变量都改为要插入的对象的引用,当然要添加一条entry信息保存新加入对象的前后信息
当你在arraylist中插入时(删除同理)
比如在n位置后面插入,那么n后面所有值都要向后移动,然后插入对象,所以慢
这么说吧,在linkedlist中插入一个对象,只是插入一条entry对象相关信息,删除个对象,只是修改这个对象前后两个对象中的entry相关信息
|