Making a thread-safe or synchronized collection
As you know by now, the commonly used collection classes, such as Java. util. arraylist, are not synchronized. however, if there's a chance that two threads cocould be altering a collection concurrently, you can generate a synchronized collection from it using the synchronizedcollection () method. similar to the read-only methods, the thread-safe APIs let you generate a synchronized collection, list, set, or map. for instance, this is how you can generate a synchronized map from a hashmap:
Map map = collections. synchronizedmap (New hashmap ());
Map. Put ("key", "result ");
Note that the reference is not stored to the un-synchronized map. it's very important to only access a synchronized collection or a map from the object (reference) returned by the corresponding synchronizexxx () method. otherwise, the behavior wocould be undefined.