Junior — Middle
Which thread-safe container is most suitable for read-mostly operations?
sobes.tech AI
Answer from AI
For read-preference operations in Java, the most suitable class is CopyOnWriteArrayList from the java.util.concurrent package.
This thread-safe container implements a copying strategy for the array on each write operation, making reads very fast and non-blocking, as reads work with an immutable copy of the data.
Example of usage:
import java.util.concurrent.CopyOnWriteArrayList;
CopyOnWriteArrayList<String> list = new CopyOnWriteArrayList<>();
list.add("element1");
list.add("element2");
// Multiple threads can safely read the list without locks
for (String item : list) {
System.out.println(item);
}
// Write (add) will create a copy of the array
list.add("element3");
Thus, CopyOnWriteArrayList is optimal when read operations significantly outnumber write operations.