引用以下内容的javadoc
ArrayList:
请注意,此实现未同步。如果多个线程同时访问ArrayList实例,并且至少有一个线程在结构上修改列表,则必须在外部进行同步。(结构修改是添加或删除一个或多个元素或显式调整后备数组大小的任何操作;仅
设置元素的值不是结构修改 。)
所以不,它不需要同步。

引用以下内容的javadoc
ArrayList:
请注意,此实现未同步。如果多个线程同时访问ArrayList实例,并且至少有一个线程在结构上修改列表,则必须在外部进行同步。(结构修改是添加或删除一个或多个元素或显式调整后备数组大小的任何操作;仅
设置元素的值不是结构修改 。)
所以不,它不需要同步。