We have a Vector of Students, with each Student containing a Vector of marks. Of course, the nested Vector of marks is "shielded" from the containing Vector by being a member of a protective Student class, but that's not necessary. You can just put a Vector into an element of another Vector if it seems appropriate ...
import java.util.*; public class School2 { public static void main (String[] args) { Vector s0 = new Vector(); // the first student's marks Vector s1 = new Vector(); // the second student's marks Vector s2 = new Vector(); // the third student's marks // Let's make a lecture section of students: Vector course = new Vector(); course.addElement(s0); course.addElement(s1); course.addElement(s2); // Add three marks for each student s0.addElement(new Integer(65)); s0.addElement(new Integer(89)); s0.addElement(new Integer(47)); s1.addElement(new Integer(45)); s1.addElement(new Integer(50)); s1.addElement(new Integer(55)); s2.addElement(new Integer(70)); s2.addElement(new Integer(75)); s2.addElement(new Integer(80)); // Let's retrieve the second student's third mark: Vector stu = (Vector)course.elementAt(1); Integer mk = (Integer)stu.elementAt(2); int mark = mk.intValue(); System.out.println ("2nd student's 3rd mark: " + mark); // Let's print all marks for all students: for (int i=0; i<course.size(); i++) { Vector s = (Vector)course.elementAt(i); System.out.print ("Student " + i +": "); for (int j=0; j<s.size(); j++) { System.out.print (s.elementAt(j) + " "); } System.out.println(); } } }
2nd student's 3rd mark: 55 Student 0: 65 89 47 Student 1: 45 50 55 Student 2: 70 75 80