ArrayList.clear, =null, new Arraylist 간의 비교 차이

3043 단어
박문을 참고하다.

1. ArrayList의 객체 메서드 사용clear()

1 List list = new ArrayList();
2 List list1 = list;
3 list.add(1);
4 list.add(2);
5 list.add(3);
6 list.clear();

ArrayList 대상 내부에서 하나의 대상 그룹 요소 데이터를 유지합니다.clear () 방법을 실행할 때 요소 데이터의 모든 좌표를null로 설정하고 그룹의 크기를 0으로 설정합니다.우리는 이list를 사용하여 조작할 수 있다
clear 원본은 다음과 같습니다
public void clear() {
        modCount++;

        // clear to let GC do its work
        for (int i = 0; i < size; i++)
            elementData[i] = null;

        size = 0;
}

2. =null 사용

ArrayList list = new ArrayList();
list.add("0");
list.add("1");
list.add("2");
list = null;

GC가 이 부분의 메모리 공간을 실행하고 회수할 수 있도록 변수list를null로 직접 가리킵니다.
주의해야 할 것은 다른 변수가 이 대상을 가리킬 때, 변수list가null 쓰레기 수거기로 설정되어 있어도 이 메모리 공간을 회수할 수 없다는 것이다.다음과 같습니다.
ArrayList list = new ArrayList();
ArrayList arraylist = list;
list.add("0");
list.add("1");
list.add("2");
list = null; //  list null, arraylist , 

3. 사용 = new ArrayList()


메서드 3은 메서드 1과 비슷하며 빈 ArrayList 객체를 가져옵니다.그러나 new Array List () 는 내부 그룹 요소 데이터 용량이 10인 Array List 대상을 초기화하고 방법 1은 대상의 용량이 원 대상과 일치합니다.주의해야 할 것은 사용 방법 3은 메모리에 메모리 공간을 다시 개척하는 등 조작을 해야 하기 때문에 비용이 많이 든다. 만약에 단순히 빈 Array List 대상을 사용하고자 한다면 사용 방법 1을 권장한다. 상대적으로 메모리 넘침 문제를 최대한 피할 수 있다.

좋은 웹페이지 즐겨찾기