我们应该如何在Java中使用向量,就像我们在C+中使用向量一样+;?
我想制作一个班级成绩册,然后为每个学生创建一个对象,并将他们的名字、课程名称和成绩保存在一个向量中,最后,将它们全部打印出来。这是我的密码:我们应该如何在Java中使用向量,就像我们在C+中使用向量一样+;?,java,class,vector,Java,Class,Vector,我想制作一个班级成绩册,然后为每个学生创建一个对象,并将他们的名字、课程名称和成绩保存在一个向量中,最后,将它们全部打印出来。这是我的密码: public static void main(String [] args) { Vector<GradeBook> gVec = new Vector<GradeBook>() ; Scanner sc = new Scanner (System.in) ; String
public static void main(String [] args)
{
Vector<GradeBook> gVec = new Vector<GradeBook>() ;
Scanner sc = new Scanner (System.in) ;
String sName = sc.nextLine();
String cName = sc.next();
int grade = sc.nextInt() ;
while(!sName.equals("end"))
{
GradeBook st = new GradeBook() ;
st.setCouseInfo(sName, cName, grade) ;
gVec.add(st) ;
sName = sc.nextLine();
cName = sc.next();
grade = sc.nextInt() ;
}
}
publicstaticvoidmain(字符串[]args)
{
向量gVec=新向量();
扫描仪sc=新的扫描仪(System.in);
字符串sName=sc.nextLine();
字符串cName=sc.next();
int grade=sc.nextInt();
而(!sName.equals(“end”))
{
成绩册st=新成绩册();
圣塞特库塞恩福(斯奈姆、cName、等级);
gVec.add(st);
sName=sc.nextLine();
cName=sc.next();
等级=sc.nextInt();
}
}
prgoram获取名称,检查是否为“end”,然后获取课程名称和成绩,将它们设置为成绩册字段,即studentName、courseName和courseGrade,然后将它们添加到成绩册向量中
<> P>但是在程序结束时,我打印问题的结果是有问题的,它不能像我在C++中那样做,比如:
for ( int i=0;i<gVec.size();i++)
{
System.out.println(gVec[i].studentName);
System.out.println(gVec[i].courseName);
System.out.println(gVec[i].courseGrade);
}
for(int i=0;i所需的方法是Vector.get(int i)
。有关详细信息,请参阅
但是,我不会使用Vector。我更喜欢,或者。为什么?默认情况下,在每个操作上同步向量,并且同步模式(每个方法)没有太大用处,您需要支付(少量)性能罚款。有关详细信息,请参阅。您无法通过[]访问向量元素
,您应该使用gVec.get(i)
,或者使用foreach
循环
for (GradeBook bookItem : gVec){
System.out.println(bookItem.studentName);
System.out.println(bookItem.courseName);
System.out.println(bookItem.courseGrade);
}
另外,如果你在单线程中查看ArrayList
或LinkedList
你的文档指向1.4.2,它非常古老,甚至不使用泛型。如果谷歌放弃1.4是java类的最佳选择,那该多好啊……当然,我想这是我们的错。