- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Difference between Synchronized ArrayList and CopyOnWriteArrayList in Java
Synchronized ArrayList and CopyOnWriteArrayList are useful for synchronizing the ArrayList. This is necessary for a multi-threaded environment to make sure thread safety is achieved.
The differences between Synchronized ArrayList and CopyOnWriteArrayList are given as follows −
Synchronized ArrayList | CopyOnWriteArrayList |
---|---|
Synchronized ArrayList is used to synchronize the ArrayList. | CopyOnWriteArrayList is used to synchronize the ArrayList. |
The Java 1.2 version first introduced the Synchronized ArrayList. | The Java 1.5 version first introduced the CopyOnWriteArrayList. |
The Synchronized ArrayList should be used when there are more write operations than reading operations in ArrayList. | The CopyOnWriteArrayList should be used when there are more read operations than write operations in ArrayList. |
This iterator is a fail-fast iterator. | This iterator is a fail-safe iterator. |
The synchronized block should contain the iteration of the list. | The iteration of the list can be outside the synchronized block. |
During the read or write operation, the whole ArrayList is locked by Synchronized ArrayList for thread safety. | During the write operation only, the whole ArrayList is locked by CopyOnWriteArrayList for thread safety. |
The Synchronized ArrayList should be used when the ArrayList is larger. | The CopyOnWriteArrayList should be used when the ArrayList is smaller. |
Advertisements