List 와 Array List, LinkList 의 차이

3061 단어
인터페이스 List < E > 는 인터페이스 입 니 다.
Array List < E > 는 하나의 클래스 입 니 다. List 인 터 페 이 스 를 실현 한 클래스 이기 때문에 List 에서 정의 할 수 있 는 모든 방법 이 실 현 됩 니 다.
1. ArrayList 는 동적 배열 을 바탕 으로 하 는 데이터 구 조 를 실현 하고 LinkedList 는 링크 를 바탕 으로 하 는 데이터 구 조 를 실현 한다.
2. 랜 덤 액세스 get 과 set 에 대해 Array List 는 LinkedList 보다 낫다 고 생각 합 니 다. LinkedList 는 지침 을 이동 해 야 하기 때 문 입 니 다.
3. 추가 및 삭제 작업 add 와 remove 에 대해 서 는 linedList 가 우세 합 니 다. ArrayList 가 데 이 터 를 이동 해 야 하기 때 문 입 니 다.
시간 복잡 도
 
우선 중요 한 것 은 Array List 의 내부 실현 은 기본 적 인 대상 배열 을 바탕 으로 하 는 것 이기 때문에 get 방법 으로 목록 의 모든 요 소 를 방문 할 때 (random access) 는 LinkedList 보다 속도 가 빠르다 는 것 이다.링크 드 리스트 의 get 방법 은 목록 의 한 끝 에서 다른 한 끝 까지 순서대로 검사 하 는 것 입 니 다.링크 목록 에 있 는 지정 한 요 소 를 방문 하 는 것 은 더 빠 른 방법 이 없습니다.
 eg:
List  :
List list = new ArrayList();//     ArrayList   
List list = new Vector();//     Vector    

집합 을 모방 하 다.List ,Collection ,ArrayList
MyCollection. java 기본 인터페이스
package com.sun.test;

public interface MyCollection {
public void Sayname();
}
MyList .java
 package com.sun.test; 
  

public interface MyList extends MyCollection {
    public void say();
}

MyArrayList.java               
package com.sun.test;

public class MyArrayList implements MyList {

    public void say() {
        // TODO Auto-generated method stub
        System.out.println(" List");
    }

    public void Sayname() {
        // TODO Auto-generated method stub
        System.out.println(" Collection");
    }

}



TestList. java 인터페이스의 유형 에 따라 new 에서 나 온 대상 이 실현 할 수 있 는 방법 도 다 릅 니 다.
package com.sun.test;

public class TestList {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        MyList mylist = (MyList) new MyArrayList();
        mylist.say();
        mylist.Sayname();
        
        MyCollection mylist2 = (MyCollection) new MyArrayList();
        
        mylist2.Sayname();
    }

}



좋은 웹페이지 즐겨찾기