14
CopyOnWriteArrayList list should be used when the number of reads vastly outnumber the number of writes. This is because you are trading unnecessary synchronization for expensive array copying on each write.
For example, when you have a List of event listeners in a multi-threaded environment, you'd want to use CopyOnWriteArrayList, because