首页 > 试题广场 >

下面程序运行完之后,t2与t3的关系为() Object o

[单选题]

面程序运行完之后,t2与t3的关系为()

Object obj=new Object();

List aList=new ArrayList();

List bList=new LinkedList();

long t1=System.currentTimeMillis();

for(int i=0;i<50000;i++){

aList.add(0,obj);

}

long t2=System.currentTimeMillis()-t1;

t1=System.currentTimeMillis();

for(int i=0;i<50000;i++){

bList.add(0,obj);

}

long t3=System.currentTimeMillis()-t1; 

  • t2=t3

  • t2>t3

  •  t2

  •  t2==t3

考察知识点: ArrayList 和 LinkedList的区别?
ArrayList的数据类型是数组,在每次插入元素a[0] 后面的时候,都需后面的数据后移,所以插入是O(n),但是他的优点是在查询的时候非常快,因为他是数组,有下标,可以直接查询数据
LinkedList的数据类型是链表,在插入元素的时候,只需要在节点后面直接插入就可以,速度比较快

升华总结:
在日常中,为什么还是比较常用ArrayList?
1. 因为插入头尾快,但是如果需要插入在中间,还是有一定的时间的,
2. 还有就是存储的空间占用,因为是链表,所以说它的存储空间是不连续的,会占用大量的空间(相对来说)
发表于 2025-06-19 23:52:47 回复(0)
没注意在头部插入还以为是arraylist要扩容呢
发表于 2025-06-13 01:07:21 回复(0)
是不是不够严谨啊?
发表于 2025-05-16 21:42:09 回复(0)
这个题考查的是ArrayList和LinkedList插入数据的速度问题 ArrayList插入删除元素的时候比较慢
发表于 2025-04-28 20:06:53 回复(0)