What is the effect of adding the sixth element to a vector created in the following manner:
new Vector(5, 10); 1. An IndexOutOfBounds exception is raised. 2. The vector grows in size to a capacity of 10 elements 3. The vector grows in size to a capacity of 15 elements 4. Nothing, the vector will have grown when the fifth element was added Select the most appropriate answer.
Can this question be answered by what is there in Kathy Sierra book ?? Can we expect such questions on collections in the real exam ??
Whether adding the sixth element throws an exception depends on how it is added to the Vector. If you use add(element), it will be appended to the tail with no exception. If you use add(index, element), it will throw an exception.
You can answer this question with what is in K&B plus reading the API for the Java Collection classes (as recommended by K&B).
For answering this question you must know the API for Vector. Now I've read the entire K&B book, and found no API's for any Collection. Hence I think it's very doubtful this kind of questions will be in the exam.
PS: the answer is 3: you create a Vector with initial capacity of 5 and increment of 10. When adding the 6th element, you get an overflow and capacity for another 10 elements is added - there is now capacity for 15 elements.
Right, but if you add an element at the sixth place, vector_name, straightaway, without filling the vector, you get ArrayOutOfBounds exception. I don't think you will see this question on the exam because it is an ambiguous question.