x.append([1,2,3])和x.extend([1,2,3])的区别
x.append([1,2,3])和x.extend([1,2,3])的区别
参考答案和解析
从线程安全的方面来说,这两个都不能线程安全的;从数据结构来说,ArrayList 的底层使用的是object数组,而LinkedList底层是双向链表数据结构。由于ArrayList是底层是数组,所以可以快速随机访问,通过坐标就可以快速定位,而LinkedList 则不可以。在添加和删除方面,ArrayList 是数组结构,如果添加/删除的是第i个数据,那么数组中的i之后的所有数据都会向前后移动。而链表结构则不会。所以LinkedList做添加删除快速。ArrayList会在尾部预留一定的容量空间,因为如果做添加操作的时候,超出当前数组最大值时,会添加50%的空间。LinkedList的空间花费则体现在它的每一个元素都需要消耗比ArrayList更多的空间(因为要存放直接后继和直接前驱以及数据
相关考题:
以下错误的定义语句是A)int x[][3]={{0},{1},{1,2,3}};B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};D)int x[][3]={1,2,3,4};
下列错误的定义语句是( )。A.int x[ ][3]={{0},{1},{1,2,3}};B.int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C.int x[4][ ]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};D.int x[ ][3]={1,2,3,4};
—个栈的初始状态为空。现将元素1,2,3,A,B,C依次入栈,然后再依次出栈,则元素出栈的顺序是( )。A.1,2,3,A,B,CB.C,B,A,1,2,3C.C,B,A,3,2,1D.1,2,3,C,B,A
在以下选项中,能IE确声明数组并进行初始化的语句是( )。A.str=new Dimension(1,2,3);B.str=new dimension(1,2,3);C.str:new Array(1,2,3);D.str=new array(1,2,3);
设A,B是两个集合,A={1,2,3},B={1,2},则ρ(A) -ρ(B) =(60)。A.{{3},{1,3},{2,3},{1,2,3}}B.{{1,3},{2,3},{1,2,3}}C.{{1,2},{2,3},{1,2,3}}D.{{1},{1,3},{2,3},{1,2,3}}。
下列MATLAB语句不正确的是()A、A=[1,2,3;456;780];sum(A(:))B、A=[1,2,3;456;780];C=A6C、A=[1,2,3;4,5,6;7,8,0];A(1,:).*A(:,3)D、A=[1,2,3;4,5,6;7,8,0];A(1,:)*A(:,3)
单选题你正在磁盘1,2和3上建立RAID-0动态卷,下列哪个命令可以使这个卷尽可能的大?()Acreate volume stripe size=0 disk=1,2,3Bcreate volume stripe disk=1,2,3Ccreate volume raid size=0 disk=1,2,3Dcreate volume raid disk=1,2,3
单选题已知列表x=[1,2],那么连续执行x.append(3)之后,x的值为()A[1,2]B[1,2,3]C[1,2,2]D[2]