Not much of significance; it's a very simple class either way. The algorithm used for deciding how much to grow the internal array is different. I believe Vector used the old conventional wisdom of doubling the array each time it is reallocated; ArrayList is somewhat more conservative about space.