Vectors can store heterogeneous objects because everything is saved in terms of Object.
String string = new String ("MyString");
Integer integer = new Integer(2);
Vector vector = new Vector();
vector.add(string);
vector.add(integer);
Vector wont be able to contain if you heterogeneous objects bind it with a type like this:
Vector <String> vector = new Vector<String>();