
which scenario we are using arraylist and linkedlist and vector

When to use LinkedList:
When you need efficient removal in between elements or at the start. When you don't need random access to elements, but can live with iterating over them one by one
When to use ArrayList:
When you need random access to elements ("get the nth. element")
When you don't need to remove elements from between others. It's possible but it's slower since the internal backing-up array needs to be reallocated.
Adding elements is amortized constant time (meaning every once in a while, you pay some performance, but overall adding is instantly done)