BAEL-5931: Default Capacity of ArrayList (#13110)
This commit is contained in:
parent
5e21445e0f
commit
5f939afaf0
|
@ -0,0 +1,20 @@
|
||||||
|
package com.baeldung.defaultarraylistcapacity;
|
||||||
|
|
||||||
|
import java.lang.reflect.Field;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
public class DefaultArrayListCapacity {
|
||||||
|
|
||||||
|
public static int getDefaultCapacity(ArrayList<?> arrayList) throws Exception {
|
||||||
|
|
||||||
|
if (arrayList == null) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
Field field = ArrayList.class.getDeclaredField("elementData");
|
||||||
|
field.setAccessible(true);
|
||||||
|
|
||||||
|
return ((Object[]) field.get(arrayList)).length;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
package com.baeldung.defaultarraylistcapacity;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
public class DefaultArrayListCapacityUnitTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenEmptyArrayList_whenGetDefaultCapacity_thenReturnZero() throws Exception {
|
||||||
|
|
||||||
|
ArrayList<Integer> myList = new ArrayList<>();
|
||||||
|
int defaultCapacity = DefaultArrayListCapacity.getDefaultCapacity(myList);
|
||||||
|
|
||||||
|
assertEquals(0, defaultCapacity);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenEmptyArrayList_whenAddItemAndGetDefaultCapacity_thenReturn10() throws Exception {
|
||||||
|
|
||||||
|
ArrayList<String> myList = new ArrayList<>();
|
||||||
|
myList.add("ITEM 1");
|
||||||
|
|
||||||
|
int defaultCapacity = DefaultArrayListCapacity.getDefaultCapacity(myList);
|
||||||
|
|
||||||
|
assertEquals(10, defaultCapacity);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue