당신은 ArrayList
다음 샘플과 같은 ensureCapacity(int minCapacity)
메소드를 오버라이드 (override)하는 것입니다 제한 할 수있는 무엇 :
작은 테스트는 다음 코드와 함께 할 수
public static class MyArrayList<T> extends ArrayList<T> {
@Override
public void ensureCapacity(int minCapacity) {
if (minCapacity > 10) {
throw new IllegalArgumentException();
}
super.ensureCapacity(minCapacity);
}
}
:
public static void main(String[] args) {
MyArrayList<String> items = new MyArrayList<String>();
for (int i = 0; i < 15; i++) {
try {
items.add("itm " + i);
System.out.println("succeeded to insert " + i);
} catch (IllegalArgumentException e) {
System.out.println("not able to insert " + i);
}
}
System.out.println("items are: " + items);
}
다음과 같이 인쇄됩니다.
succeeded to insert 0
succeeded to insert 1
succeeded to insert 2
succeeded to insert 3
succeeded to insert 4
succeeded to insert 5
succeeded to insert 6
succeeded to insert 7
succeeded to insert 8
succeeded to insert 9
not able to insert 10
not able to insert 11
not able to insert 12
not able to insert 13
not able to insert 14
items are: [itm 0, itm 1, itm 2, itm 3, itm 4, itm 5, itm 6, itm 7, itm 8, itm 9]
ArrayList 실제로 크기를 조정하는 데 오래 걸립니까? 나는 그것이 매우 빠른 조작이고 아무도 괴롭히지 않아야한다고 생각한다. – vach