[Java] 컬렉션 프레임워크

이지현·2022년 3월 29일
0
post-thumbnail

📕1. 컬렉션 프레임워크

1-1. 컬렉션 프레임워크란?

  • 프로그램 개발을 건물 짓는 일에 비유해보자
    원하는 건물을 지으려면 구조를 잘 잡아야 하듯이 프로그램을 개발할 때도
    사용하는 자료를 어떤 구조로 관리할 것인지가 중요하다.

  • 이 때 사용하는 것이 자료구조 이다.
    자료 구조는 프로그램 실행 중 메모리에 자료를 유지, 관리 하기 위해 사용되는데
    자바에서는 필요한 자료구조를 미리 구현하여 java.util 패키지에서 제공하고 있다
    이를 프레임워크 라고 한다

  • 즉 , java.util 패키지 안에는 미리 만들어 놓은 인터페이스, 클래스들이 들어있고 자바에서 우리가 이 틀을 가져다가 사용할 수있도록 제공하고 이를 컬렉션 프레임워크라고 한다.

  • 컬렉션 프레임워크란 java.util 패키지 안에서 값을 담을 수 있는 컨테이너인데,
    값의 성격에 따라서 컨테이너의 성격도 조금씩 달라진다.

자바에서는 다양한 컨테이너(즉, 미리 만들어놓은 것)를 제공하는데 몇가지 예시를 아래에서 확인해보자


1-2. 컬렉션 프레임워크 구조


📕2. Collection 인터페이스

2-1. Collection 인터페이스에 선언된 메서드 중 자주 사용하는 것들

메서드설명
boolean add(E e)Collection 에 객체를 추가한다.
void clear()Collection 의 모든 객체를 제거한다.
Iterator iteratorCollection 을 순환할 반복자(Iterator)를 반환한다.
boolean remove(Object obj)Collection 에 매개변수에 해당하는 인스턴스가 존재하면 제거한다.
int size()Collection 에 있는 요소의 개수를 반환한다.
  • Collection 인터페이스를 구현한 클래스는 위 메서드를 모두 제공한다.

2-2. Set 인터페이스의 특징

  • 수학시간에 배운 집합과 개념이 비슷하다

  • 집합은 순서와 상관없이 중복을 허용하지 않는다. 따라서 중복되지 않는 객체를 다루는데 사용한다.

    분류설명
    Set 인터페이스- 순서가 정해져 있지 않다.
    - 중복을 허용하지 않는다.

2-3. List 인터페이스의 특징

  • List 를 구현한 클래스는 순차적인 자료를 관리하는데 사용하는 클래스이다.

    분류설명
    List 인터페이스- 순서가 있는 자료를 관리한다.
    - 중복을 허용한다.

📕3. Map 인터페이스

  • Map 인터페이스는 하나가 아닌 쌍으로 되어있는 자료를 관리하는 메서드들이 선언되어 있다.
  • key - value 형태로 저장이 되는데 키값은 중복이 될 수 없다.

3-1. Map 인터페이스에 선언된 메서드 중 자주 사용하는 것들

메서드설명
V put(K key, V value)key에 해당하는 value 값을 map에 넣는다.
V get(K key)key에 해당하는 value 값을 반환한다.
boolean isEmpty()Map이 비었는지 여부를 반환한다.
boolean containsKey(Object key)Map에 해당 key가 있는지 여부를 반환한다.
boolean containsValue(Object value)Map에 해당 value가 있는지 여부를 반환한다.
Set keyset()key 집합을 Set로 반환한다.(중복이 안되므로 Set)
Collection values()value를 Collection으로 반환한다.(중복 무관)
V remove(key)key가 있는 경우 삭제한다.
boolean remove(Object key, Object value)key가 있는 경우 key에 해당하는 value가 매개변수와 일치할 때 삭제한다.

profile
개발 공부 중인 지현이

0개의 댓글