Vector: never if the API does not require this, because it is a class, not an interface.
List: this should be your default collection of arrays. This is an interface, so anything can be List, if necessary. (and there are many implementations List, for example, ArrayList, LinkedList, CopyOnWriteArrayList, ImmutableListfor different sets of functions)
VectorIt is thread safe, but also a shell Collections.synchronizedList().
: , API. - , List<Integer>, Integer.