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

题目
问答题
Vector类的对象与数组有什么关系?什么时候适合使用数组,什么时候适合使用Vector?
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

阅读以下说明和Java代码,填补空缺。

[说明]

java.util库中提供了Vector模板类,可作为动态数组使用,并可容纳任意数据类型。

该类的部分方法说明如下所示:

方法名 含义

add(k) 向vector对象的尾部添加一个元素k

removeElementAt(i) 删除序号为i的元素(vector元素序号从0开始)

isEmpty( ) 判断vector对象是否含有元素

size( ) 返回vector对象中所包含的元素个数

[Java代码]

Import ________;

public class JavaMain {

static private final int ________ =6;

public static void main(String[]args) {

Vector theVector=new Vector< _______ >( );

//初始化theVector,将theVector的元素设置为0至5

for(int cEachItem=0; cEachItem<ARRAY_SIZE; cEachItem++)

theVector. add( ________ );

showVector(theVector); //依次输出theVector巾的元素

theVector. removeElementAt(3);

showVector(theVector);

}

public static void showVector(Vector theVector){

if(theVector. isEmpty( )){

System.out.printin("theVector is empty.");

return;

}

for(int loop=0; loop<theVector.size( ); loop++) {

System.out.print(theVector.get(loop));

System.out.print(",");

}

System.out.printin( );

}

}

该程序运行后的输出结果为:

0, 1, 2, 3, 4, 5

___________


正确答案:java.util.Vector或java.util.* ARRAY_SIZE Integer cEachItem 01245
java.util.Vector或java.util.* ARRAY_SIZE Integer cEachItem 0,1,2,4,5 解析:本题考查的是Java语言的基本应用。在使用Java库中的类时,要导入类所在的包,(1)处应为java.util.Vector或java.util.*。(2)处考查的是变量的定义,此处应为ARRAY_SIZE。(3)处是考察Vector模板类存储的数据类型,所以此处应为Integer类型,(4)处代码主要是将循环变量的值存入cEachItern中,因此应为cEachItem。程序开始会输出0,1,2,3,4,5,再次输出时则没有3,应为0,1,2,4,5。

第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;

}


正确答案:(1) vector(int x=0int y=0):a(x)b(y){} (2) a=x; b=y; (3) double c;
(1) vector(int x=0,int y=0):a(x),b(y){} (2) a=x; b=y; (3) double c; 解析:本题主要考查考生对于类的定义和友元函数定义的理解,请注意(1)中的参数列表形式和(3)中对象访问成员使用“.”操作符。

第3题:

●试题八

阅读以下说明和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

【解析】注意参数默认值的书写方法。分别对ab赋值。注意赋值顺序,与构造函数的赋值不同。注意对象访问成员使用"."操作符。x.a=10y.a=3x.b=20y.b=2,所以c=70

 

第4题:

给出下列的程序段,哪个选项是不正确的? ( ) ①public void create(){ ②Vector my; ③my=new Vector(); ④}

A.第二行的声明不会为变量my分配内存空间

B.第二行语句创建一个Vector类对象

C.第三行语句创建一个Vector类对象

D.第三行语句为一个Vector类对象分配内存空间


正确答案:B

第5题:

向量类(vector)的对象同数组一样,即可以存储基本类型的数据,也可以存储对象类型的数据。()

此题为判断题(对,错)。


正确答案:错误

第6题:

给出下面的代码段,下面的哪些陈述为真? ( ) public void create() { Vector myVect; myVect=new Vector(); } Ⅰ:第2行的声明不会为变量myVect分配内存空间。 Ⅱ:第2行的声明分配一个到Vector对象的引用的内存空间。 Ⅲ:第2行语句创建一个Vector类对象。 Ⅳ:第3行语句创建一个Vector类对象。

A.Ⅱ、Ⅲ、Ⅳ

B.Ⅱ、Ⅲ、Ⅳ

C.Ⅰ、Ⅲ

D.Ⅰ、Ⅳ


正确答案:D
解析:本题是考查对Vector的应用和理解。要为一个新对象分配空间,必须执行new Xxx()调用,new调用执行以下的操作:首先为新对象分配空间并将其成员初始化为0或者null:执行类体中的初始化(如在类中有一个成员声明int a=10,在第1步后a=O,执行到第2步后 a=10);然后执行构造函数;最后变量被分配为一个到内存堆中的新对象的引用。

第7题:

请完成下列Java程序:建立一个String类型的数组,实现该数组的自然排序,并输出结果。该数组采用直接初始化,大小不限。(提示;使用Collations接口。)

注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。

程序运行结果如下:

fang

liu

ouyang

sun

wll

zhang

import java.util.*;

public class ex5_2{

public static void main(String[]args) {

Vector vName=new Vector();

String[]strName={"zhang","sun","wu","liu","fang","ouyang"};

for(int i=0;i<strName.length;i++){

________;

________;

}

for(int j=0;j<vName.size();i++){

System.out.println(vName.get(j));

}

}

}


正确答案:vName.add(strName[i]) Collections.sort(vName)
vName.add(strName[i]) Collections.sort(vName) 解析:本题主要考查汇集(Collections)接口和数组的操作。解题关键是熟悉数组的直接初始化方法,掌握Vector类和Collections类的基本方法。本题中,第一空,将strName数组中的每一个String对象添加到Vector类的vName对象中,调用方法add实现这一过程;第二空,利用Collections的sort方法来对vName对象中的字符串进行自然排序。

第8题:

什么是数组?数组最适合在哪种情况下使用?


参考答案:数组是一个元素序列。同一个数组中的所以元素具有相同类型。当程序需要处理一组有序元素的相似元素时,

第9题:

数组的长度不能够被改变,而向量类(vector)对象的长度可以被改变。()

此题为判断题(对,错)。


正确答案:正确

第10题:

给出下列的程序代码片段,下列的( )选项是不正确的。 ①public void create(){ ②Vector my; ⑧my=new Vector(); ④}

A.第二行的声明不会为变量my分配内存空间

B.第二行语句创建一个Vector类对象

C.第三行语句创建一个Vector类对象

D.第三行语句为一个Vector类对象分配内存空间


正确答案:B