ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/jsr166/jsr166/src/main/java/util/concurrent/CopyOnWriteArrayList.java
(Generate patch)

Comparing jsr166/src/main/java/util/concurrent/CopyOnWriteArrayList.java (file contents):
Revision 1.100 by dl, Wed Mar 13 12:39:02 2013 UTC vs.
Revision 1.101 by dl, Fri Apr 5 12:15:43 2013 UTC

# Line 579 | Line 579 | public class CopyOnWriteArrayList<E>
579          final ReentrantLock lock = this.lock;
580          lock.lock();
581          try {
582            // Copy while checking if already present.
583            // This wins in the most common case where it is not present
582              Object[] elements = getArray();
583              int len = elements.length;
586            Object[] newElements = new Object[len + 1];
584              for (int i = 0; i < len; ++i) {
585                  if (eq(e, elements[i]))
586 <                    return false; // exit, throwing away copy
590 <                else
591 <                    newElements[i] = elements[i];
586 >                    return false;
587              }
588 +            Object[] newElements = Arrays.copyOf(elements, len + 1);
589              newElements[len] = e;
590              setArray(newElements);
591              return true;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines