*JAVA*

[java] 컬렉션 프레임웍(Collections Framework)

깐부로부터 2021. 11. 19. 00:52

- 컬렉션(collection)

  :여러 객체(데이터)를 모아 놓은 것을 의미

 

- 프레임웍(framework)

  : 표준화, 정형화된 체계적인 프로그램이 방식

 

- 컬렉션 프레임웍(collections framework)

  : 컬렉션(다수의 객체)를 다루기 위한 표준화된 프로그래밍 방식

  : 컬렉션을 쉽고 편리하게 다룰 수 있는 다양나 클래스를 제공

  : java.util패키지에 포함. JDK 1.2부터 제공

 

- 컬렉션 클래스(collection class)

   : 다수의 데이터를 저장할 수 잇는 클래스 예) Vector, ArrayList, HashSet

 

=> 데이터들이 새롭게 추가되거나, 삭제되거나, 수정이 되는 기능(알고리즘) 들이 이미 정의 되어있는 틀 == 컬렉션

 

 

 

3가지 종류의 컬렉션
 * - List 계열 : 담고자 하는 값(Value)만 저장 / 저장 시 순서 유지(index)
 *  중복값 허용
 *  예) ArrayList, LinkedList, Vector
 *  ArrayList가 가장 많이 쓰인다.


 * - Set 계열 : 담고자 하는 값(Value)만 저장 / 저장 시 순서유지 X
 *  중복값 허용 X
 *  예) HashSet, TreeSet

 
 * - Map 계열 : 키(key) + 값(Value) 세트로 저장 / 저장 시 순서 유지 X
 *  중복 키 허용 X /  중복 값 허용
 *  예)  HashMap, HashTable, TreeMap, ProPerties


배열과 컬렉션의 차이점


 * - 배열의 단점
 * 1. 한 타입의 데이터들만 저장 가능
 * 2. 배열을 쓰고자 할 때 먼저 크기를 지정해야함
 * => 한 번 지정된 크기는 변경이 불가능
 * 새로운 값을 추가하고자 할 때 크기가 오버될 경우 새로운 크기의 배열을 만들고,
 * 기존의 내용들을 복사하는 코드를 직접 짜야함
 * 3. 배열 중간 위치에 새로운 데이터를 추가하거나 삭제하는 경우
 * 기존의 값들을 땡겨주거나, 밀어주는 코드를 직접 짜야 함
 * 
 * - 컬렉션의 장점
 * 1. 기본적으로 여러 타입의 데이터들을 저장 가능
 * => 같은 타입의 데이터들만 묶어서도 저장 가능
 * (제네릭 설정을 통해 한타입의 데이터들만 묶을 수 있게끔도 가능)
 * 2. 크기에 제약이 없다.
 * => 굳이 크기 지정을 하지 않아도 된다.
 * => 만약 내가 크기지어을 했고, 크기를 오버하는 값을 더 추가하고자 할 때
 *  알아서 크기가 늘어난다.
 * 3. 중간에 값을 추가하거나 삭제하는 경우 값을 땡겨주거나 밀어주는 코드가
 *  이미 그메소드로 정의되어 있음
 * => 그때그때 필요한 메소드들을 호출해서 쓰면 된다!!
 * 
 * 방대한 데이터를 담아만 두고 "조회"만 할 목적 => 배열
 * 방대한 데이터들이 추가, 수정, 삭제 될 경우 => 컬렉션


Collection 인터페이스의 메소드

 

추가 : 지정된 객체 또는 컬렉션의 객체들을 콜렉션에 추가한다.

  • boolean add(Object o)
  • boolean addAll(Collection c)

 

 

검색 : 지정된 객체 또는 컬렉션의 객체들이 컬렉션에 포함되어 있는지 확인

  • boolean contains(Object o)
  • boolean containsAll(Collection c)
  • boolean isEmpty() : 컬렉션이 비어있는지 확인

 

 

삭제 : 지정된 객체를 삭제

  • boolean remove(Object o)
  • boolean removeAll(Collection c)
  • boolean retainAll(Collection c)
  • void clear() : 컬렉션의 모든 객체를 삭제

 

 

기타

  • int size() : 컬렉션에 저장된 객체의 개수를 반환
  • Object[] toArray() : 컬렉션에 저장된 객체를 객체배열(Object[])로 반환
  • Object[] toArray(Object[] a) : 지정된 배열에 컬렉션의 객체를 저장해서 반환

 

 

'*JAVA*' 카테고리의 다른 글

[java] Math 클래스  (0) 2021.11.20
[java] Wrapper(래퍼) 클래스  (0) 2021.11.20
[java] IO 스트림  (0) 2021.11.18
[java] API - java.lang 패키지  (0) 2021.11.16
[java] 예외(Exception)  (0) 2021.10.30