자바-자린이의 도전기

Collection 1-1) Collection 클래스?

광형 2022. 5. 10. 11:34
728x90
728x90
SMALL

 

컬렉션(Collection)

 
  -자료구조가 내장되어 있는 클래스
  -자바에서 제공하는 "자료구조"를 담당하는 "프레임워크"입니다.
  -자료구조 : 데이터들을 효율적으로 다룰때 필요한 개념
  -프레임워크 : 효율적인 기능들이 이미 정의되어 있는 툴
   
  정리해보면 데이터들이 새롭게 추가되거나, 삭제가 되거나, 수정이 되는 기능들이
  이미 정의되어 있는 틀
  ->다량의 데이터들을 관리하고자 할때? 배열을 가지고 할 수 있었지만 알고리즘 구현을 해야했음
  그 단점들을 보완한것이 Collection 입니다

 

 배열과 컬렉션의 차이점


  배열의 단점

  1.한 타입의 데이터들만 저장 가능합니다.
  2.배열을 쓰고자 할 때 먼저 크기를 지정해야 합니다.
  ->한번 지정된 크기는 변경이 불가합니다. (새로운 값을 추가하고자 할때 크기가 커질 경우 새로운 크기의 배열을 만들고 기존 내용을 깊은 복사)
  3.배열 중간 위치에 새로운 데이터를 추가,삭제 하는경우 - 기존의 데이터들을 밀거나 당기는 코드를 작성해야합니다.
   
  컬렉션의 장점

  1. 기본적으로 여러 타입의 데이터들을 저장 가능 ->같은 타입의 데이터들만 묶어서도 저장가능 (제네릭 설정을 통해)
  2. 크기에 제약이 없습니다.
  ->크기 지정을 해주지 않아도 이미 되어있고 크기를 넘어서는 경우엔 자동으로 늘어납니다.
  3.중간에 값을 추가하거나 삭제하는 경우 값을 땡겨주거나 밀어주는 코드가 이미 메소드로 정의되어 있음
  ->그때그때 필요한 메소드를 호출해서 사용만 하면 됩니다.
   

  방대한 데이터들을 단지 담아만 두고 "조회"만 할 목적이라면 배열 사용
  방대한 데이터들이 추가,수정,삭제 될 경우 컬렉션 사용
   



 

  컬렉션의 종류(3가지 계열)


  -List 계열 :담고자 하는 값(value)만 저장 / 값 저장 시 순서 유지(index개념) / 중복값 허용
   ex)ArrayList,Vector,LinkedList -> ArrayList가 가장 많이 쓰임
  -Set 계열 :담고자 하는 값(value)만 저장 / 값 저장 시 순서 유지 X (index개념 없음) / 중복값 X
         ex)HashSet,TreeSet,LinkedHashSet....
  -Map 계열 : 키(key)+값(value) 세트로 저장/ 값 저장시 순서 유지 X(index개념 없음) / 중복키 X 중복값O 
   ex)HashMap,HashTable,TreeMap,Properties.....

다음 글에서는 ArrayList 개념과 메소드를 설명하겠습니다.

728x90
300x250
LIST