niusouti.com

单选题下列实现了动态数组的是(  )。A Vector和ArrayListB Map和SetC Vector和MapD ArrayList和Set

题目
单选题
下列实现了动态数组的是(  )。
A

Vector和ArrayList

B

Map和Set

C

Vector和Map

D

ArrayList和Set


相似考题

2.使用VC6打开考生文件夹下的工程test19_3,此工程包含一个源程序文件test19_3.cpp,其中定义了用于表示向量的类 vector,但类vector的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整。(1)补充类vector的构造函数,该函数有参数x和y,它们都是int型的数据,默认值都为0。请使用参数列表的形式分别将类的数据成员a和b分别初始化为参数x和y的值。请在注释“//**1**”之后添加适当的语句。(2)完成类vector的成员函数input(int x,int y)的定义,将int型的参数x和y分别赋值给数据成员a和b,请在注释“//**2**”之后添加适当的语句。(3)完成类vector的友元函数friend double Multiply (vector &x,vector &y)的定义,先定义double型的临时变量c,然后将参数对象x和对象y的数据成员a与b分别相乘再相加后赋值给c,最后返回c的值,将请在注释“//**3**”之后添加适当的语句。输出结果如下:(10,20)(2, 3)80注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。源程序文件test19_3.cpp清单如下:include <iostream.h>class vector{int a;int b;public://**1**void input(int x, int y){//**2**}void output (){cout<<'('<<a<<','<<b<<")"<<end1;}friend double Multiply(vector &x,vector &y);}double Multiply (vector &x,vector &y){//**3**c=x.a*y.a+x.b*y.b;return c;}void main(){vector x(10,20),y;double d;y.input (2,3);d=Multiply (x,y);x. output ( );y. output ( );cout<<d<<end1;}

3.使用VC6打开考生文件夹下的工程test13_3。此工程包含一个test13_.cpp,其中定义了类Vector,但类的定义并不完整。请按要求完成下列操作,将程序补充完整。(1)完成构造函数的定义,把数据成员size初始化为参数s的值,数据成员buffer指向动态申请的int型size大小的空间。请在注释“//**1**”之后添加适当的语句。(2)完成拷贝构造函数的定义,注意解决多次删除的问题。请在注释“//**2**”之后添加适当的语句。(3)完成成员函数elem的定义,该函数返回buffer的第ndx个元素的值,注意如果ndx超界,请输出“error in index”。请在注释“//**3**”之后添加适当的语句。(4)完成析构函数的定义,要求先将字符d打印在屏幕上,再释放buffer指向的空间。请在注释“//**4**”之后添加适当的语句。输出结果如下:1234567891012345678910dd注意:除在指定的位置添加语句外,请不要改动程序中的其他语句。源程序文件test13_3清单如下:include<iostream.h>include<stdlib.h>class Vector{public:Vector(int s=100);Vector(Vector &v);int &elem(int ndx);void display();void set();~Vector();protected:int size;int *buffer;};Vector::Vector(int s){// ** 1 **}Vector::Vector(Vector &v){// ** 2 **for(int i=0; i<size; i++){*(buffer+i)=*(v.buffer+i);}}int &Vector::elem(int ndx){// ** 3 **{cout<<"error in index"<<endl;exit(1);}return buffer[ndx];}void Vector::display(){for(int j=0;j<size;j++)cout<<elem(i)<<endl;}void Vector::set(){for(int j=0;i<size;j++)elem(j)=j+1;}Vector::~Vector(){// ** 4 **}void main(){Vector a(10);Vector b(a);a. set();b. set();a. display();b. display();}

参考答案和解析
正确答案: B
解析:
Vector类在Java中是可以实现自动增长的对象数组。而Arraylist通过继承List接口实现了大小可变的数组。同时也实现了所有可选列表操作,并允许包括null在内的所有元素。除了实现List接口外,此类还提供一些方法来操作内部用来存储列表的数组的大小(但是与Vector类不同的是Arraylist类是不同步的)。Set就是一个不包含重复元素的collection。Map接口提供三种collection视图,允许以键集、值集或键-值映射关系集的形式查看某个映射的内容。映射顺序定义为迭代器在映射的collection视图上返回其元素的顺序。
更多“单选题下列实现了动态数组的是(  )。A Vector和ArrayListB Map和SetC Vector和MapD ArrayList和Set”相关问题
  • 第1题:

    下面是“二维向量” vector2D 的定义,其中作为成员函数重载的运算符“+”的功能是将两向量的分量x和y对应相加,然后返回作为相加结果的新对象。那么应该在横线上填入的语句是( )。 class vector2D { private: double x; //x分量 double y; //y分量 public: vector2D(double x0=0,double y0=0) :x(x0),y(y0) {} void show(cout<<' ('<<', '<<y<<') ';} _________________________; }; vector2D :: operator + (vector2D a) { return vector20(x+a.x,y+a.y); }

    A.vector2D operator + (vector2D b)

    B.vector2D operator + (vector2D &b)

    C.void operator + (vector2D)

    D.int operator + (vector2D b)


    正确答案:A
    解析:此题在类vector2D中将运算符“+”重载为成员函数,实现将两向量的分量x和y对应相加的功能。那么由题可知,在空格处填入的应当是运算符“+”重载函数的声明。根据运算符“+”重载函数在类体外的定义可知其声明语句为:vector2Doperator+(vector2DB)

  • 第2题:

    ArrayList和Vector的区别,HashMap和Hashtable的区别


    正确答案:

     

    就ArrayList与Vector主要从二方面来说.
    一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的
    二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半
    就HashMap与HashTable主要从三方面来说。
    一.历史原因:Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现
    二.同步性:Hashtable是线程安全的,也就是说是同步的,而HashMap是线程序不安全的,不是同步的
    三.值:只有HashMap可以让你将空值作为一个表的条目的key或value

  • 第3题:

    Vector和ArrayList的主要区别是()

    • A、ArrayList内部基于链表,而Vector是基于数组的
    • B、Vector的大部分方法做了同步,而ArrayList没有同步
    • C、Vector是可串行化的,而ArrayList不是
    • D、Vector实现了RandomAccess,而ArrayList没有

    正确答案:B

  • 第4题:

    Vector 与 ArrayList正确的是:()

    • A、 ArrayList 出现比Vector早
    • B、 ArrayList 速度比Vector慢
    • C、 ArrayList 没有同步保护,Vector具有同步保护
    • D、 ArrayList Vector 两者都是无序的集合"

    正确答案:C

  • 第5题:

    ArrayList和Vector的区别。


    正确答案: A.rrayList与Vector主要从二方面来说.
    一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的。
    二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半。

  • 第6题:

    RSTP计算过程中,当端口收到一个RSTBPDU之后,首先为此RSTBPDU生成一个消息优先级向量(Message Priority Vector),然后根据此消息优先级向量(Message Priority Vector)生成一个根路径优先级向量(Root PathPriority Vector),然后使用根路径优先级向量(Root Path Priority Vector)和根优先级向量(Root Priority Vector)做比较。()


    正确答案:错误

  • 第7题:

    说出ArrayList,Vector,LinkedList的存储性能和特性。


    正确答案:ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

  • 第8题:

    请说出 ArrayList, Vector,LinkedList的存储性能和特性。


    正确答案:ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。

  • 第9题:

    单选题
    实现了Set接口的类是哪项?()
    A

      ArrayList

    B

      HashTable

    C

      HashSet

    D

      Collection


    正确答案: C
    解析: 暂无解析

  • 第10题:

    问答题
    ArrayList和Vector的区别。

    正确答案: A.rrayList与Vector主要从二方面来说.
    一.同步性:Vector是线程安全的,也就是说是同步的,而ArrayList是线程序不安全的,不是同步的。
    二.数据增长:当需要增长时,Vector默认增长为原来一培,而ArrayList却是原来的一半。
    解析: 暂无解析

  • 第11题:

    问答题
    Vector类的对象与数组有什么关系?什么时候适合使用数组,什么时候适合使用Vector?

    正确答案: vector是一个能够存放任意对象类型的动态数组,容量能自动扩充,而数组存储固定且类型相同的对象;对于存储固定类型相同的对象使用数组,对于存储不同类型或者动态调整数组大小的情况使用Vector。
    解析: 暂无解析

  • 第12题:

    ( 难度:中等)以下关于集合类ArrayList、LinkedList、HashMap描述正确的是()
    A.A:HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
    B.B:ArrayList和LinkedList均实现了List接口
    C.C:添加和删除元素时,ArrayList的表现更佳
    D.D:ArrayList的访问速度比LinkedList快

    答案:ABD

  • 第13题:

    阅读以下说明和C++代码,将解答写入对应栏内。

    【说明】

    源程序文件vectorClass.cpp,其中定义了用于表示向量的类vector,但类vector的定义并不完整。请按要求完成下列操作,将类vector的定义补充完整,并给出输出结果。

    1.补充类vector的构造函数,该函数有参数x和y,它们都是int型的数据,默认值都为 0。请使用参数列表的形式分别将类的数据成员a和b分别初始化为参数x和y的值。

    2.完成类vector的成员函数input(int x,int y)的定义,将int型的参数x和y分别赋值给数据成员b和a。

    3.完成类vector的友元函数friend double Multiply(vector &x,vector &y)的定义,先定义 double型的临时变量c,然后将参数对象x和对象y的数据成员a与b分别相乘再相加后赋值给c,最后返回c的值。

    注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。

    源程序文件vectorClass.cpp清单如下:

    include < iostream. h >

    class vector

    {

    int a;

    int b;

    public:

    vector((1)):(2)

    {

    }

    void input(int x, int y)

    { (3)

    }

    void output( )

    {

    cout<<'('<<a<<','<<b<<")" <<endl;

    }

    friend double Multiply(vector &x,vector &y);

    };

    double Multiply(vector &x,vector &y)

    {

    double c;

    (4)

    return c;

    }

    void main( )

    {

    vector x(10,20),y;

    double d;

    y. input(2,3)

    d=Multiply(x,y);

    cout<<d<<endl;

    }

    程序输出结果是:(5)。


    正确答案:(1)int x=0int y=0 (2)a(x)b(y) (3)b=x;a=y (4)c=x.a*y.a+x.b*y.b (5)70
    (1)int x=0,int y=0 (2)a(x),b(y) (3)b=x;a=y (4)c=x.a*y.a+x.b*y.b (5)70 解析:注意参数默认值的书写方法。分别对a,b赋值。注意赋值顺序,与构造函数的赋值不同。注意对象访问成员使用“.”操作符。 x.a=10;y.a=3;x.b=20;y.b=2,所以c=70。

  • 第14题:

    实现动态分配对象列表的类是( )。

    A.System类

    B.Class类

    C.Vector类

    D.Stack类


    正确答案:C

  • 第15题:

    在现有的宏蜂窝仿真软件中,可以考虑()信息的影响

    • A、VeCtoR、height
    • B、veCtoR、height、buildiNg
    • C、VeCtoR、ClutteR
    • D、VeCtoR、height、ClutteR

    正确答案:D

  • 第16题:

    实现了Set接口的类是哪项?()

    • A、ArrayList
    • B、HashTable
    • C、HashSet
    • D、Collection

    正确答案:C

  • 第17题:

    RSTP根端口的根路径优先级向量(Root Path Priority Vector)和根端口的端口优先级向量(Port Priority Vector)相同。()


    正确答案:错误

  • 第18题:

    RSTP中,交换机初始化时,端口的根路径优先级向量(Root Path Priority Vector)和根优先级向量(Root Priority Vector)相同。()


    正确答案:错误

  • 第19题:

    Vector类的对象与数组有什么关系?什么时候适合使用数组,什么时候适合使用Vector?


    正确答案:vector是一个能够存放任意对象类型的动态数组,容量能自动扩充,而数组存储固定且类型相同的对象;对于存储固定类型相同的对象使用数组,对于存储不同类型或者动态调整数组大小的情况使用Vector。

  • 第20题:

    问答题
    请说出 ArrayList, Vector,LinkedList的存储性能和特性。

    正确答案: ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
    解析: 暂无解析

  • 第21题:

    单选题
    Vector和ArrayList的主要区别是()
    A

    ArrayList内部基于链表,而Vector是基于数组的

    B

    Vector的大部分方法做了同步,而ArrayList没有同步

    C

    Vector是可串行化的,而ArrayList不是

    D

    Vector实现了RandomAccess,而ArrayList没有


    正确答案: B
    解析: 暂无解析

  • 第22题:

    问答题
    说出ArrayList,Vector,LinkedList的存储性能和特性。

    正确答案: ArrayList和Vector都是使用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector由于使用了synchronized方法(线程安全),通常性能上较ArrayList差,而LinkedList使用双向链表实现存储,按序号索引数据需要进行前向或后向遍历,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。
    解析: 暂无解析

  • 第23题:

    单选题
    Vector 与 ArrayList正确的是:()
    A

     ArrayList 出现比Vector早

    B

     ArrayList 速度比Vector慢

    C

     ArrayList 没有同步保护,Vector具有同步保护

    D

     ArrayList Vector 两者都是无序的集合


    正确答案: B
    解析: 暂无解析