rename field 'index' to 'size'
The field 'index' describes two things: 1. the index the next element will be added to 2. the size of the list Most methods use the second meaning.
This commit is contained in:
@@ -40,7 +40,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
*/
|
*/
|
||||||
transient private int[] data;
|
transient private int[] data;
|
||||||
|
|
||||||
private int index = 0;
|
private int size = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Keeps track of whether or not the list is sorted. This allows us to use
|
* Keeps track of whether or not the list is sorted. This allows us to use
|
||||||
@@ -83,7 +83,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
public IntList(final IntList intList) {
|
public IntList(final IntList intList) {
|
||||||
data = new int[intList.getCapacity()];
|
data = new int[intList.getCapacity()];
|
||||||
System.arraycopy(intList.data, 0, data, 0, intList.size());
|
System.arraycopy(intList.data, 0, data, 0, intList.size());
|
||||||
index = intList.size();
|
size = intList.size();
|
||||||
sorted = intList.sorted;
|
sorted = intList.sorted;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,7 +108,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
* @return {@code true} if this list contains no elements
|
* @return {@code true} if this list contains no elements
|
||||||
*/
|
*/
|
||||||
public boolean isEmpty() {
|
public boolean isEmpty() {
|
||||||
return index == 0;
|
return size == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -117,7 +117,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
* @return the number of elements in this list
|
* @return the number of elements in this list
|
||||||
*/
|
*/
|
||||||
public int size() {
|
public int size() {
|
||||||
return index;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -151,12 +151,12 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
public void add(final int value) {
|
public void add(final int value) {
|
||||||
ensureCapacity(1);
|
ensureCapacity(1);
|
||||||
|
|
||||||
data[index] = value;
|
data[size] = value;
|
||||||
|
|
||||||
if (sorted) {
|
if (sorted) {
|
||||||
sorted = index == 0 ? sorted : data[index - 1] <= data[index];
|
sorted = size == 0 ? sorted : data[size - 1] <= data[size];
|
||||||
}
|
}
|
||||||
index++;
|
size++;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -176,7 +176,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
if (pos < 0) {
|
if (pos < 0) {
|
||||||
throw new IndexOutOfBoundsException("pos must not be negative, but was: " + pos);
|
throw new IndexOutOfBoundsException("pos must not be negative, but was: " + pos);
|
||||||
}
|
}
|
||||||
if (pos > index) {
|
if (pos > size) {
|
||||||
throw new IndexOutOfBoundsException("pos must be smaller than size(), but was: " + pos);
|
throw new IndexOutOfBoundsException("pos must be smaller than size(), but was: " + pos);
|
||||||
}
|
}
|
||||||
if (values == null) {
|
if (values == null) {
|
||||||
@@ -189,10 +189,10 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
ensureCapacity(values.length);
|
ensureCapacity(values.length);
|
||||||
|
|
||||||
// move everything after the insert position to make room for the new values
|
// move everything after the insert position to make room for the new values
|
||||||
System.arraycopy(data, pos, data, pos + values.length, index - pos);
|
System.arraycopy(data, pos, data, pos + values.length, size - pos);
|
||||||
// insert the new values
|
// insert the new values
|
||||||
System.arraycopy(values, 0, data, pos, values.length);
|
System.arraycopy(values, 0, data, pos, values.length);
|
||||||
index += values.length;
|
size += values.length;
|
||||||
|
|
||||||
if (sorted) {
|
if (sorted) {
|
||||||
// compare with element before the insertion
|
// compare with element before the insertion
|
||||||
@@ -228,7 +228,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
throw new IndexOutOfBoundsException("pos must not be negative, but was: " + pos);
|
throw new IndexOutOfBoundsException("pos must not be negative, but was: " + pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pos >= index) {
|
if (pos >= size) {
|
||||||
throw new IndexOutOfBoundsException("pos must not smaller than size(), but was: " + pos);
|
throw new IndexOutOfBoundsException("pos must not smaller than size(), but was: " + pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -251,15 +251,15 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
public void addAll(final int... values) {
|
public void addAll(final int... values) {
|
||||||
ensureCapacity(values.length);
|
ensureCapacity(values.length);
|
||||||
|
|
||||||
System.arraycopy(values, 0, data, index, values.length);
|
System.arraycopy(values, 0, data, size, values.length);
|
||||||
|
|
||||||
if (sorted) {
|
if (sorted) {
|
||||||
for (int i = 0; i < values.length && sorted; i++) {
|
for (int i = 0; i < values.length && sorted; i++) {
|
||||||
sorted = index + i - 1 < 0 ? sorted : data[index + i - 1] <= data[index + i];
|
sorted = size + i - 1 < 0 ? sorted : data[size + i - 1] <= data[size + i];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
index += values.length;
|
size += values.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -286,15 +286,15 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
if (toIndex < fromIndex) {
|
if (toIndex < fromIndex) {
|
||||||
throw new IndexOutOfBoundsException("toIndex must not be smaller than fromIndex, but was: " + toIndex);
|
throw new IndexOutOfBoundsException("toIndex must not be smaller than fromIndex, but was: " + toIndex);
|
||||||
}
|
}
|
||||||
if (toIndex > index) {
|
if (toIndex > size) {
|
||||||
throw new IndexOutOfBoundsException(
|
throw new IndexOutOfBoundsException(
|
||||||
"toIndex must not be larger than the size of this list, but was: " + toIndex);
|
"toIndex must not be larger than the size of this list, but was: " + toIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
final int numRemoved = index - toIndex;
|
final int numRemoved = size - toIndex;
|
||||||
System.arraycopy(data, toIndex, data, fromIndex, numRemoved);
|
System.arraycopy(data, toIndex, data, fromIndex, numRemoved);
|
||||||
|
|
||||||
index = index - (toIndex - fromIndex);
|
size = size - (toIndex - fromIndex);
|
||||||
|
|
||||||
sorted = size() <= 1 ? true : sorted; // lists of size 1 or smaller are always sorted
|
sorted = size() <= 1 ? true : sorted; // lists of size 1 or smaller are always sorted
|
||||||
}
|
}
|
||||||
@@ -313,7 +313,6 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
*/
|
*/
|
||||||
public void removeAll(final IntList remove) {
|
public void removeAll(final IntList remove) {
|
||||||
|
|
||||||
final int size = index;
|
|
||||||
int insertPosition = 0;
|
int insertPosition = 0;
|
||||||
for (int i = 0; i < size; i++) {
|
for (int i = 0; i < size; i++) {
|
||||||
final int current = data[i];
|
final int current = data[i];
|
||||||
@@ -323,7 +322,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
insertPosition++;
|
insertPosition++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
index = insertPosition;
|
size = insertPosition;
|
||||||
|
|
||||||
sorted = size() <= 1 ? true : sorted; // lists of size 1 or smaller are always sorted
|
sorted = size() <= 1 ? true : sorted; // lists of size 1 or smaller are always sorted
|
||||||
}
|
}
|
||||||
@@ -343,7 +342,6 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
*/
|
*/
|
||||||
public void removeIf(final IntPredicate predicate) {
|
public void removeIf(final IntPredicate predicate) {
|
||||||
|
|
||||||
final int size = index;
|
|
||||||
int insertPosition = 0;
|
int insertPosition = 0;
|
||||||
for (int i = 0; i < size; i++) {
|
for (int i = 0; i < size; i++) {
|
||||||
final int current = data[i];
|
final int current = data[i];
|
||||||
@@ -353,7 +351,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
insertPosition++;
|
insertPosition++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
index = insertPosition;
|
size = insertPosition;
|
||||||
|
|
||||||
sorted = size() <= 1 ? true : sorted; // lists of size 1 or smaller are always sorted
|
sorted = size() <= 1 ? true : sorted; // lists of size 1 or smaller are always sorted
|
||||||
}
|
}
|
||||||
@@ -371,7 +369,6 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
* @see #trim()
|
* @see #trim()
|
||||||
*/
|
*/
|
||||||
public void retainAll(final IntList retain) {
|
public void retainAll(final IntList retain) {
|
||||||
final int size = index;
|
|
||||||
int insertPosition = 0;
|
int insertPosition = 0;
|
||||||
for (int i = 0; i < size; i++) {
|
for (int i = 0; i < size; i++) {
|
||||||
final int current = data[i];
|
final int current = data[i];
|
||||||
@@ -381,7 +378,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
insertPosition++;
|
insertPosition++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
index = insertPosition;
|
size = insertPosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -394,7 +391,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
*/
|
*/
|
||||||
public void replaceAll(final UnaryIntOperator operator) {
|
public void replaceAll(final UnaryIntOperator operator) {
|
||||||
|
|
||||||
for (int i = 0; i < index; i++) {
|
for (int i = 0; i < size; i++) {
|
||||||
final int newValue = operator.apply(data[i]);
|
final int newValue = operator.apply(data[i]);
|
||||||
set(i, newValue);
|
set(i, newValue);
|
||||||
}
|
}
|
||||||
@@ -411,7 +408,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
* {@code index < 0 || index >= size()}
|
* {@code index < 0 || index >= size()}
|
||||||
*/
|
*/
|
||||||
public int get(final int pos) {
|
public int get(final int pos) {
|
||||||
if (pos < 0 || pos >= index) {
|
if (pos < 0 || pos >= size) {
|
||||||
throw new IndexOutOfBoundsException();
|
throw new IndexOutOfBoundsException();
|
||||||
}
|
}
|
||||||
return data[pos];
|
return data[pos];
|
||||||
@@ -437,7 +434,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
throw new IndexOutOfBoundsException("length must not be negative, but was: " + length);
|
throw new IndexOutOfBoundsException("length must not be negative, but was: " + length);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (from + length > index) {
|
if (from + length > size) {
|
||||||
throw new IndexOutOfBoundsException("from: " + from + " length: " + length);
|
throw new IndexOutOfBoundsException("from: " + from + " length: " + length);
|
||||||
}
|
}
|
||||||
final int[] result = new int[length];
|
final int[] result = new int[length];
|
||||||
@@ -451,7 +448,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
* @return an array containing all elements of this list
|
* @return an array containing all elements of this list
|
||||||
*/
|
*/
|
||||||
public int[] toArray() {
|
public int[] toArray() {
|
||||||
return get(0, index);
|
return get(0, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -465,10 +462,10 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
*/
|
*/
|
||||||
public int[] toArray(final int[] input) {
|
public int[] toArray(final int[] input) {
|
||||||
|
|
||||||
if (input.length < index) {
|
if (input.length < size) {
|
||||||
return toArray();
|
return toArray();
|
||||||
}
|
}
|
||||||
System.arraycopy(data, 0, input, 0, index);
|
System.arraycopy(data, 0, input, 0, size);
|
||||||
return input;
|
return input;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -476,7 +473,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
* Sorts the list into ascending order.
|
* Sorts the list into ascending order.
|
||||||
*/
|
*/
|
||||||
public void sort() {
|
public void sort() {
|
||||||
Arrays.sort(data, 0, index);
|
Arrays.sort(data, 0, size);
|
||||||
sorted = true;
|
sorted = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -485,13 +482,13 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
* parallelism.
|
* parallelism.
|
||||||
*/
|
*/
|
||||||
public void parallelSort() {
|
public void parallelSort() {
|
||||||
Arrays.parallelSort(data, 0, index);
|
Arrays.parallelSort(data, 0, size);
|
||||||
sorted = true;
|
sorted = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ensureCapacity(final int newElements) {
|
private void ensureCapacity(final int newElements) {
|
||||||
|
|
||||||
final int requiredCapacity = index + newElements;
|
final int requiredCapacity = size + newElements;
|
||||||
if (requiredCapacity < 0 || requiredCapacity > MAX_ARRAY_SIZE) {
|
if (requiredCapacity < 0 || requiredCapacity > MAX_ARRAY_SIZE) {
|
||||||
// overflow, or too big
|
// overflow, or too big
|
||||||
throw new OutOfMemoryError();
|
throw new OutOfMemoryError();
|
||||||
@@ -512,11 +509,11 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
* Call this method to reduce the memory consumption of this list.
|
* Call this method to reduce the memory consumption of this list.
|
||||||
*/
|
*/
|
||||||
public void trim() {
|
public void trim() {
|
||||||
if (index == 0) {
|
if (size == 0) {
|
||||||
data = EMPTY_ARRAY;
|
data = EMPTY_ARRAY;
|
||||||
} else {
|
} else {
|
||||||
final int[] newData = new int[index];
|
final int[] newData = new int[size];
|
||||||
System.arraycopy(data, 0, newData, 0, index);
|
System.arraycopy(data, 0, newData, 0, size);
|
||||||
data = newData;
|
data = newData;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -528,7 +525,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
*/
|
*/
|
||||||
public IntStream stream() {
|
public IntStream stream() {
|
||||||
|
|
||||||
return Arrays.stream(data, 0, index);
|
return Arrays.stream(data, 0, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -537,7 +534,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
* @return a parallel {@link IntStream}
|
* @return a parallel {@link IntStream}
|
||||||
*/
|
*/
|
||||||
public IntStream parallelStream() {
|
public IntStream parallelStream() {
|
||||||
final OfInt spliterator = Arrays.spliterator(data, 0, index);
|
final OfInt spliterator = Arrays.spliterator(data, 0, size);
|
||||||
return StreamSupport.intStream(spliterator, true);
|
return StreamSupport.intStream(spliterator, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -572,7 +569,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
final int insertionPoint = Arrays.binarySearch(data, offset, size(), value);
|
final int insertionPoint = Arrays.binarySearch(data, offset, size(), value);
|
||||||
result = insertionPoint < 0 ? -1 : insertionPoint;
|
result = insertionPoint < 0 ? -1 : insertionPoint;
|
||||||
} else {
|
} else {
|
||||||
for (int i = offset; i < index; i++) {
|
for (int i = offset; i < size; i++) {
|
||||||
if (data[i] == value) {
|
if (data[i] == value) {
|
||||||
result = i;
|
result = i;
|
||||||
break;
|
break;
|
||||||
@@ -593,7 +590,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
|
|
||||||
final StringBuilder result = new StringBuilder();
|
final StringBuilder result = new StringBuilder();
|
||||||
result.append('[');
|
result.append('[');
|
||||||
for (int i = 0; i < index; i++) {
|
for (int i = 0; i < size; i++) {
|
||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
result.append(", ");
|
result.append(", ");
|
||||||
}
|
}
|
||||||
@@ -604,12 +601,12 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
if (index == 0) {
|
if (size == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int result = 1;
|
int result = 1;
|
||||||
for (int i = 0; i < index; i++) {
|
for (int i = 0; i < size; i++) {
|
||||||
result = 31 * result + data[i];
|
result = 31 * result + data[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -628,11 +625,11 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
final IntList other = (IntList) obj;
|
final IntList other = (IntList) obj;
|
||||||
if (index != other.index) {
|
if (size != other.size) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < index; i++) {
|
for (int i = 0; i < size; i++) {
|
||||||
if (data[i] != other.data[i]) {
|
if (data[i] != other.data[i]) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -654,9 +651,9 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
|
|
||||||
// write out the array length. According to the implementation in ArrayList this
|
// write out the array length. According to the implementation in ArrayList this
|
||||||
// is needed to be compatible with clone.
|
// is needed to be compatible with clone.
|
||||||
s.writeInt(index);
|
s.writeInt(size);
|
||||||
|
|
||||||
for (int i = 0; i < index; i++) {
|
for (int i = 0; i < size; i++) {
|
||||||
s.writeInt(data[i]);
|
s.writeInt(data[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -672,10 +669,10 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
// Read in capacity
|
// Read in capacity
|
||||||
s.readInt(); // ignored
|
s.readInt(); // ignored
|
||||||
|
|
||||||
if (index > 0) {
|
if (size > 0) {
|
||||||
final int[] local_data = new int[index];
|
final int[] local_data = new int[size];
|
||||||
|
|
||||||
for (int i = 0; i < index; i++) {
|
for (int i = 0; i < size; i++) {
|
||||||
local_data[i] = s.readInt();
|
local_data[i] = s.readInt();
|
||||||
}
|
}
|
||||||
data = local_data;
|
data = local_data;
|
||||||
@@ -686,7 +683,7 @@ public final class IntList implements Serializable, Cloneable {
|
|||||||
public IntList clone() {
|
public IntList clone() {
|
||||||
try {
|
try {
|
||||||
final IntList result = (IntList) super.clone();
|
final IntList result = (IntList) super.clone();
|
||||||
result.data = index == 0 ? EMPTY_ARRAY : Arrays.copyOf(data, index);
|
result.data = size == 0 ? EMPTY_ARRAY : Arrays.copyOf(data, size);
|
||||||
return result;
|
return result;
|
||||||
} catch (final CloneNotSupportedException e) {
|
} catch (final CloneNotSupportedException e) {
|
||||||
throw new IllegalStateException(e);
|
throw new IllegalStateException(e);
|
||||||
|
|||||||
Reference in New Issue
Block a user