单选题ArrayList和LinkList的描述,下面说法错误的是()。ALinkedeList和ArrayList都实现了List接口BArrayList是可改变大小的数组,而LinkedList是双向链接串列CLinkedList不支持高效的随机元素访问D在LinkedList的中间插入或删除一个元素意味着这个列表中剩余的元素都会被移动;而在ArrayList的中间插入或删除一个元素的开销是固定的
单选题
ArrayList和LinkList的描述,下面说法错误的是()。
A
LinkedeList和ArrayList都实现了List接口
B
ArrayList是可改变大小的数组,而LinkedList是双向链接串列
C
LinkedList不支持高效的随机元素访问
D
在LinkedList的中间插入或删除一个元素意味着这个列表中剩余的元素都会被移动;而在ArrayList的中间插入或删除一个元素的开销是固定的
参考解析
解析:
Arraylist的内存结构是数组,当超出数组大小时创建一个新的数组,把原数组中元素拷贝过去。其本质是顺序存储的线性表,插入和删除操作会引发后续元素移动,效率低,但是随机访问效率高
LinkedList的内存结构是用双向链表存储的,链式存储结构插入和删除效率高,不需要移动。但是随机访问效率低,需要从头开始向后依次访问
相关考题:
欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?( B ) A.ArrayList myList=new Object();B.List myList=new ArrayList();C.ArrayList myList=new List();D.List myList=new List();
欲构造ArrayList类的一个实例,此类实现List接口,下列方法正确的是______。A.ArrayList myList=new Object( );B.List myList=new ArrayList( );C.ArrayList myList=new List( );D.List myList=new List( );
欲构造ArrayList类的一个实例,此类继承了List接口,下列( )方法是正确的。A.ArrayList myList=new Object();B.List myList=new ArrayList();C.ArrayList myList=new List();D.List myList=new List();
在C语言中,可以用typedef声明新的类型名来代替已有的类型名,比如有学生链表结点: typedef struct node{ int data; struct node * link; }NODE, * LinkList; 下述说法正确的是______。A.NODE是结构体struct node的别名B.* LinkList也是结构体struct node的别名C.LinkList也是结构体struct node的别名D.LinkList等价于node*
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明1]L为一个带头结点的循环链表。函数LinkList deletenode(LinkList L,int c)的功能是删除L中数据域data的值大于C的所有结点,并由这些结点组建成一个新的带头结点的循环链表,其头指针作为函数的返回值。[C函数1]LinkList deletenode(LinkList L,int c){LinkList Lc,P,pre;pre=L;p=(1);Lc=(LinkList)malloc(sizeof(Listnode));Lc->next=Lc;while(P!=L)if(p->data>C){(2);(3);Lc->next=p;p=pre->next;}else{pre=p;p=pre->next;}return Lc;}[说明2]递归函数dec_to_k_2(int n,int k)的功能是将十进制正整数n转换成k(2≤k≤9)进制数,并打印。[C函数2]dec to k 2(int n,int k){ if(n!=O){dec to k 2( (4) ,k);printf("%d", (5) );}}
欲构造ArrayList类的一个实例,此类继承了List接口,下列( )是正确的。A.ArrayListmyList=new Object();B.List myList=new ArrayList();C.ArrayList myList=new List();D.List myList=new List();
请写出下列递归算法的功能。 typedef struct node{ datatype data; struct node *link; } *LinkList; int ALGORISM(LinkList list) { if(list==NULL) return 0; else return 1+ALGORISM(list-link); }
Vector和ArrayList的主要区别是()A、ArrayList内部基于链表,而Vector是基于数组的B、Vector的大部分方法做了同步,而ArrayList没有同步C、Vector是可串行化的,而ArrayList不是D、Vector实现了RandomAccess,而ArrayList没有
ArrayList和LinkList的描述,下面说法错误的是()。A、LinkedeList和ArrayList都实现了List接口B、ArrayList是可改变大小的数组,而LinkedList是双向链接串列C、LinkedList不支持高效的随机元素访问D、在LinkedList的中间插入或删除一个元素意味着这个列表中剩余的元素都会被移动;而在ArrayList的中间插入或删除一个元素的开销是固定的
Vector 与 ArrayList正确的是:()A、 ArrayList 出现比Vector早B、 ArrayList 速度比Vector慢C、 ArrayList 没有同步保护,Vector具有同步保护D、 ArrayList Vector 两者都是无序的集合"
创建一个ArrayList集合实例,该集合中只能存放String类型数据,下列()代码是正确的A、ArrayList myList=new ArrayList()B、ArrayListStringmyList=new ArrayList;()C、ArrayListmyList=new ArrayListString()D、ArrayListmyList=new List()
欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?()A、 ArrayList myList=new Object();B、 List myList=new ArrayList();C、 ArrayList myList=new List();D、 List myList=new List();
在JAVA中,LinkedList类和ArrayList类同属于集合框架类,下列()选项中的方法是LinkedList类有而ArrayList类没有的。A、add(Objecto)B、add(intndex,Objecto)C、remove(Objecto)D、removeLast()
问答题请写出下列递归算法的功能。 typedef struct node{ datatype data; struct node *link; } *LinkList; int ALGORISM(LinkList list) { if(list==NULL) return 0; else return 1+ALGORISM(list-link); }
单选题创建一个ArrayList集合实例,该集合中只能存放String类型数据,下列()代码是正确的AArrayList myList=new ArrayList()BArrayListStringmyList=new ArrayList;()CArrayListmyList=new ArrayListString()DArrayListmyList=new List()
单选题1. import java.util.*; 2. class SubGen { 3. public static void main(String [] args) { 4. //insert code here 5. } 6. } class Alpha { } class Beta extends Alpha { } class Gamma extends Beta { } 和四段代码片段: s1. ArrayList〈? extends Alpha〉 list1 = new ArrayList〈Gamma〉(); s2. ArrayList〈Alpha〉 list2 = new ArrayList〈? extends Alpha〉(); s3. ArrayList〈? extends Alpha〉 list3 = new ArrayList〈? extends Beta〉(); s4. ArrayList〈? extends Beta〉 list4 = new ArrayList〈Gamma〉(); ArrayList〈? extends Alpha〉 list5 = list4; 哪些片段分别插入到第4行,可允许代码编译?()A只有s1B只有s3C只有s1和s3D只有s1和s4
单选题Vector和ArrayList的主要区别是()AArrayList内部基于链表,而Vector是基于数组的BVector的大部分方法做了同步,而ArrayList没有同步CVector是可串行化的,而ArrayList不是DVector实现了RandomAccess,而ArrayList没有
单选题Vector 与 ArrayList正确的是:()A ArrayList 出现比Vector早B ArrayList 速度比Vector慢C ArrayList 没有同步保护,Vector具有同步保护D ArrayList Vector 两者都是无序的集合