If you add elements to an array list, one by one, for example:
ArrayList alist = new ArrayList();
alist.add("A");
alist.add("B");
alist.add("C");
alist.add("D");
And then retrieve, say the third element by say, alist.get(2), am I guaranteed to retrieve the third element I added?
Second part of the question, assuming the answer to the first question is yes: When would I use an ArrayList versus a Vector and vice versa.