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

Comparing jsr166/src/main/java/util/ArrayDeque.java (file contents):
Revision 1.58 by jsr166, Sun Nov 23 17:44:51 2014 UTC vs.
Revision 1.59 by jsr166, Sun Nov 23 18:06:50 2014 UTC

# Line 318 | Line 318 | public class ArrayDeque<E> extends Abstr
318          if (o != null) {
319              int mask = elements.length - 1;
320              int i = head;
321 <            Object x;
322 <            while ( (x = elements[i]) != null) {
321 >            for (Object x; (x = elements[i]) != null; i = (i + 1) & mask) {
322                  if (o.equals(x)) {
323                      delete(i);
324                      return true;
325                  }
327                i = (i + 1) & mask;
326              }
327          }
328          return false;
# Line 343 | Line 341 | public class ArrayDeque<E> extends Abstr
341       * @return {@code true} if the deque contained the specified element
342       */
343      public boolean removeLastOccurrence(Object o) {
344 <        if (o == null)
345 <            return false;
346 <        int mask = elements.length - 1;
347 <        int i = (tail - 1) & mask;
348 <        Object x;
349 <        while ( (x = elements[i]) != null) {
350 <            if (o.equals(x)) {
351 <                delete(i);
354 <                return true;
344 >        if (o != null) {
345 >            int mask = elements.length - 1;
346 >            int i = (tail - 1) & mask;
347 >            for (Object x; (x = elements[i]) != null; i = (i - 1) & mask) {
348 >                if (o.equals(x)) {
349 >                    delete(i);
350 >                    return true;
351 >                }
352              }
356            i = (i - 1) & mask;
353          }
354          return false;
355      }
# Line 661 | Line 657 | public class ArrayDeque<E> extends Abstr
657          if (o != null) {
658              int mask = elements.length - 1;
659              int i = head;
660 <            Object x;
665 <            while ( (x = elements[i]) != null) {
660 >            for (Object x; (x = elements[i]) != null; i = (i + 1) & mask) {
661                  if (o.equals(x))
662                      return true;
668                i = (i + 1) & mask;
663              }
664          }
665          return false;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines