Multiplas threads e array

Estou desenvolvendo uma aplicação onde multiplas threads irão realizar operações em cima de um mesmo vetor, neste caso é melhor em relação a desempenho utilizar arraylist, mas implementando algum tipo de sincronização, ou vector?