집합 에 대한 remove

2286 단어 데이터 구조

public class collectionsTest {   
    public static void main(String[] args) {   
  
        TreeSet<Integer> set = new TreeSet<Integer>();   
        ArrayList<Integer> list = new ArrayList<Integer>();   
        Vector<Integer> vector = new Vector<Integer>();   
  
        char ch='a';
        for (int i = 0; i < 10; i++) {   
            set.add(10+i);   
            list.add(10+i);   
            vector.add(10+i);   
        }   
        System.out.println("    set    :" + set.toString());   
        System.out.println("    list    :" + list.toString());   
        System.out.println("    vector    :" + vector.toString());   
  
        for (int i = 0; i < 5; i++) {   
            set.remove(i);   
            list.remove(i);   
            vector.remove(i);   
  
        }   
        System.out.println("  set   " + set.toString());   
        System.out.println("   list   " + list.toString());   
        System.out.println("   vector   " + vector.toString());   
  
    }   
  
} 

코드 부터 봐!!
남 의 코드 야!!
스스로 분석 해 봐!1
출력 먼저 보기

    set    :[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
    list    :[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
    vector    :[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
  set   [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
   list   [11, 13, 15, 17, 19]
   vector   [11, 13, 15, 17, 19]

Array List 와 Vector 는 모두 java. util. AbstractList < E > 를 계승 합 니 다.
의 추상 류!!모두 링크 의 데이터 구조 로 존재 합 니 다!
다 방법 이 있어 요.  remove(int index)  remove(Object o)
두 가지 방법 이 있어 요!색인 에 따라 집합 값 을 제거 하고 대상 값 을 직접 제거 합 니 다!

int numMoved = size - index - 1;
	if (numMoved > 0)
	    System.arraycopy(elementData, index+1, elementData, index, numMoved);


remove 할 때마다 한 번 씩.  지침 의 이동!!
그 러 니까 이게 배열 이 야. 아까 그 배열 이 아니 야!모든 요소 가 삭제 요소 의 빈 자 리 를 비 웠 습 니 다!!
이 함수 의 운용 에 주의 하 시 오
System.arrayCoay();

좋은 웹페이지 즐겨찾기