[cvs] / jsr166 / src / main / java / util / Vector.java Repository:
ViewVC logotype

Diff of /jsr166/src/main/java/util/Vector.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.34, Sun Nov 13 19:58:47 2016 UTC revision 1.35, Sun Nov 13 21:07:40 2016 UTC
# Line 585  Line 585 
585          modCount++;          modCount++;
586          elementCount--;          elementCount--;
587          elementData[elementCount] = null; /* to let gc do its work */          elementData[elementCount] = null; /* to let gc do its work */
588            // checkInvariants();
589      }      }
590    
591      /**      /**
# Line 675  Line 676 
676       * method (which is part of the {@link List} interface).       * method (which is part of the {@link List} interface).
677       */       */
678      public synchronized void removeAllElements() {      public synchronized void removeAllElements() {
679          // Let gc do its work          Arrays.fill(elementData, 0, elementCount, null);
         for (int i = 0; i < elementCount; i++)  
             elementData[i] = null;  
   
680          modCount++;          modCount++;
681          elementCount = 0;          elementCount = 0;
682      }      }
# Line 810  Line 808 
808              elementData = grow();              elementData = grow();
809          elementData[s] = e;          elementData[s] = e;
810          elementCount = s + 1;          elementCount = s + 1;
811            // checkInvariants();
812      }      }
813    
814      /**      /**
# Line 878  Line 877 
877                               numMoved);                               numMoved);
878          elementData[--elementCount] = null; // Let gc do its work          elementData[--elementCount] = null; // Let gc do its work
879    
880            // checkInvariants();
881          return oldValue;          return oldValue;
882      }      }
883    
# Line 933  Line 933 
933                  elementData = grow(s + numNew);                  elementData = grow(s + numNew);
934              System.arraycopy(a, 0, elementData, s, numNew);              System.arraycopy(a, 0, elementData, s, numNew);
935              elementCount = s + numNew;              elementCount = s + numNew;
936                // checkInvariants();
937              return true;              return true;
938          }          }
939      }      }
# Line 1030  Line 1031 
1031          }          }
1032          if (modCount != expectedModCount)          if (modCount != expectedModCount)
1033              throw new ConcurrentModificationException();              throw new ConcurrentModificationException();
1034            // checkInvariants();
1035          return modified;          return modified;
1036      }      }
1037    
# Line 1071  Line 1073 
1073                               numMoved);                               numMoved);
1074          System.arraycopy(a, 0, elementData, index, numNew);          System.arraycopy(a, 0, elementData, index, numNew);
1075          elementCount = s + numNew;          elementCount = s + numNew;
1076            // checkInvariants();
1077          return true;          return true;
1078      }      }
1079    
# Line 1152  Line 1155 
1155       * (If {@code toIndex==fromIndex}, this operation has no effect.)       * (If {@code toIndex==fromIndex}, this operation has no effect.)
1156       */       */
1157      protected synchronized void removeRange(int fromIndex, int toIndex) {      protected synchronized void removeRange(int fromIndex, int toIndex) {
1158          int numMoved = elementCount - toIndex;          final Object[] es = elementData;
1159          System.arraycopy(elementData, toIndex, elementData, fromIndex,          final int oldSize = elementCount;
1160                           numMoved);          System.arraycopy(es, toIndex, es, fromIndex, oldSize - toIndex);
1161    
         // Let gc do its work  
1162          modCount++;          modCount++;
1163          int newElementCount = elementCount - (toIndex-fromIndex);          Arrays.fill(es, elementCount -= (toIndex - fromIndex), oldSize, null);
1164          while (elementCount != newElementCount)          // checkInvariants();
             elementData[--elementCount] = null;  
1165      }      }
1166    
1167      /**      /**
# Line 1350  Line 1351 
1351              action.accept(elementAt(es, i));              action.accept(elementAt(es, i));
1352          if (modCount != expectedModCount)          if (modCount != expectedModCount)
1353              throw new ConcurrentModificationException();              throw new ConcurrentModificationException();
1354            // checkInvariants();
1355      }      }
1356    
1357      @Override      @Override
# Line 1363  Line 1365 
1365          if (modCount != expectedModCount)          if (modCount != expectedModCount)
1366              throw new ConcurrentModificationException();              throw new ConcurrentModificationException();
1367          modCount++;          modCount++;
1368            // checkInvariants();
1369      }      }
1370    
1371      @SuppressWarnings("unchecked")      @SuppressWarnings("unchecked")
# Line 1370  Line 1373 
1373      public synchronized void sort(Comparator<? super E> c) {      public synchronized void sort(Comparator<? super E> c) {
1374          final int expectedModCount = modCount;          final int expectedModCount = modCount;
1375          Arrays.sort((E[]) elementData, 0, elementCount, c);          Arrays.sort((E[]) elementData, 0, elementCount, c);
1376          if (modCount != expectedModCount) {          if (modCount != expectedModCount)
1377              throw new ConcurrentModificationException();              throw new ConcurrentModificationException();
         }  
1378          modCount++;          modCount++;
1379            // checkInvariants();
1380      }      }
1381    
1382      /**      /**
# Line 1480  Line 1483 
1483              return Spliterator.ORDERED | Spliterator.SIZED | Spliterator.SUBSIZED;              return Spliterator.ORDERED | Spliterator.SIZED | Spliterator.SUBSIZED;
1484          }          }
1485      }      }
1486    
1487        void checkInvariants() {
1488            // assert elementCount >= 0;
1489            // assert elementCount == elementData.length || elementData[elementCount] == null;
1490        }
1491  }  }

Legend:
Removed from v.1.34  
changed lines
  Added in v.1.35

Doug Lea
ViewVC Help
Powered by ViewVC 1.0.8