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.101 by jsr166, Sun Oct 30 19:34:36 2016 UTC vs.
Revision 1.103 by jsr166, Mon Oct 31 16:28:32 2016 UTC

# Line 445 | Line 445 | public class ArrayDeque<E> extends Abstr
445              int i, end, to, todo;
446              todo = (end = (i = head) + size)
447                  - (to = (es.length - end >= 0) ? end : es.length);
448 <            for (;; to = todo, i = 0, todo = 0) {
448 >            for (;; to = todo, todo = 0, i = 0) {
449                  for (; i < to; i++)
450                      if (o.equals(es[i])) {
451                          delete(i);
# Line 867 | Line 867 | public class ArrayDeque<E> extends Abstr
867          int i, end, to, todo;
868          todo = (end = (i = head) + size)
869              - (to = (es.length - end >= 0) ? end : es.length);
870 <        for (;; to = todo, i = 0, todo = 0) {
870 >        for (;; to = todo, todo = 0, i = 0) {
871              for (; i < to; i++)
872                  action.accept((E) es[i]);
873              if (todo == 0) break;
# Line 885 | Line 885 | public class ArrayDeque<E> extends Abstr
885          int end, to, todo;
886          todo = (end = i + remaining)
887              - (to = (es.length - end >= 0) ? end : es.length);
888 <        for (;; to = todo, i = 0, todo = 0) {
888 >        for (;; to = todo, todo = 0, i = 0) {
889              for (; i < to; i++)
890                  action.accept(nonNullElementAt(es, i));
891              if (todo == 0) break;
# Line 906 | Line 906 | public class ArrayDeque<E> extends Abstr
906          int i, end, to, todo;
907          todo = (end = (i = head) + size)
908              - (to = (es.length - end >= 0) ? end : es.length);
909 <        for (;; to = todo, i = 0, todo = 0) {
909 >        for (;; to = todo, todo = 0, i = 0) {
910              for (; i < to; i++)
911                  es[i] = operator.apply((E) es[i]);
912              if (todo == 0) break;
# Line 986 | Line 986 | public class ArrayDeque<E> extends Abstr
986              int i, end, to, todo;
987              todo = (end = (i = head) + size)
988                  - (to = (es.length - end >= 0) ? end : es.length);
989 <            for (;; to = todo, i = 0, todo = 0) {
989 >            for (;; to = todo, todo = 0, i = 0) {
990                  for (; i < to; i++)
991                      if (o.equals(es[i]))
992                          return true;
# Line 1030 | Line 1030 | public class ArrayDeque<E> extends Abstr
1030          int end, to, todo;
1031          todo = (end = from + count)
1032              - (to = (es.length - end >= 0) ? end : es.length);
1033 <        for (;; to = todo, from = 0, todo = 0) {
1033 >        for (;; to = todo, todo = 0, from = 0) {
1034              Arrays.fill(es, from, to, null);
1035              if (todo == 0) break;
1036          }
# Line 1055 | Line 1055 | public class ArrayDeque<E> extends Abstr
1055  
1056      private <T> T[] toArray(Class<T[]> klazz) {
1057          final Object[] es = elements;
1058        final int capacity = es.length;
1059        final int head = this.head, end = head + size;
1058          final T[] a;
1059 <        if (end >= 0) {
1059 >        final int head, len, end, todo;
1060 >        todo = size - (len = Math.min(size, es.length - (head = this.head)));
1061 >        if ((end = head + size) >= 0) {
1062              a = Arrays.copyOfRange(es, head, end, klazz);
1063          } else {
1064              // integer overflow!
1065              a = Arrays.copyOfRange(es, 0, size, klazz);
1066 <            System.arraycopy(es, head, a, 0, capacity - head);
1066 >            System.arraycopy(es, head, a, 0, len);
1067          }
1068 <        if (end - capacity > 0)
1069 <            System.arraycopy(es, 0, a, capacity - head, end - capacity);
1068 >        if (todo > 0)
1069 >            System.arraycopy(es, 0, a, len, todo);
1070          return a;
1071      }
1072  
# Line 1164 | Line 1164 | public class ArrayDeque<E> extends Abstr
1164          int i, end, to, todo;
1165          todo = (end = (i = head) + size)
1166              - (to = (es.length - end >= 0) ? end : es.length);
1167 <        for (;; to = todo, i = 0, todo = 0) {
1167 >        for (;; to = todo, todo = 0, i = 0) {
1168              for (; i < to; i++)
1169                  s.writeObject(es[i]);
1170              if (todo == 0) break;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines