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