Skip to content

Commit e5994f0

Browse files
committed
Revise list capacity allocation #106
1 parent 90be898 commit e5994f0

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

‎src/main/java/com/reandroid/utils/collection/ArrayCollection.java‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -905,6 +905,9 @@ public void add(int i, T item){
905905
}
906906
boolean locked = mLocked;
907907
this.mLocked = true;
908+
if (availableCapacity() == 0) {
909+
ensureCapacity(calculateGrow());
910+
}
908911
slideRight(i, 1);
909912
this.mElements[i] = item;
910913
notifyAdd(i, item);
@@ -976,6 +979,7 @@ public boolean addAll(int index, Collection<? extends T> collection){
976979
}
977980
boolean locked = mLocked;
978981
this.mLocked = true;
982+
ensureCapacity(length);
979983
slideRight(index, length);
980984
Object[] elements = this.mElements;
981985
int i = index;

0 commit comments

Comments
 (0)