컬렉션 프레임워크의 핵심 인터페이스 


  List 

 순서가 있는 데이터 집합, 중복 허용

  ArrayList, LInkedList, Stack, Vector

  Set 

 순서를 유지하지 않는 데이터 집합, 중복 허용하지 않음

  HashSet, TreeSet 

  Map 

 Key와 Value로 이루어진 데이터 집합, 순서 유지되지 않음, 

 키는 중복 허용하지 않음, 값은 중복 허용

  HashMap TreeMap, Hashtable, Properties 등 


* List를 Set에 넣으면 중복이 제거 된다.


List   인터페이스 : 순서 O 중복 O

Set   인터페이스 : 순서 X 중복 X

Map 인터페이스 : 순서 X, 중복(키X,값O) 


ArrayList


- ArrayList에 저장된 객체 삭제 과정

삭제할 데이터를 한칸씩 위로 복사에서 덮어쓰기 떄문에 첫 번째 객체부터 삭제하는 경우 배열 복사 발생하여 다 안지워진다.

그러므로 마지막 객체부터 삭제한다. 


- 크기 변경 불가, 비순차적인 데이터의 추가, 삭제에 시간이 많이 걸린다


LInkedList


- 배열의 단점을 보완하기 위해 고안 되었다. 배열은 모든 데이터가 연속적으로 존재하지만 링크드 리스트는 불연속적으로 존재하는

  데이터를 서로 연결 한 형태로 구성 되어 있다.

- 다음에 나올 자료의 위치정보만 갖고, 내부적인 인덱스는 없다.

- 데이터의 추가/삭제는 위치정보의 수정만으로 가능하기 때문에 정보의 추가/삭제 처리에 유용하다

- 데이터가 많은 경우의 검색 시 처음부터 순차적으로 찾아 나가기 때문에 성능이 저하 된다.


스택과 큐 


+ Recent posts