컬렉션 프레임워크

윤재열·2022년 1월 11일
0

Java

목록 보기
21/71

자바에서 컬렉션 프레임워크(collection framework)란 다수의 데이터를 쉽고 효과적으로 처리 할 수 있는 표준화된 방법을 제공하는 클래스의 집합을 의미합니다.
즉, 데이터를 저장하는 자료 구조와 데이터를 처리하는 알고리즘을 구조화하여 클래스로 구현해 놓은것입니다.

  • 이러한 컬렉션 프레임워크는 자바의 인터페이스를 사용하여 구현됩니다.

  • 컬렉션 프레임워크에서는 데이터를 저장하는 자료 구조에 따라 다음과 같은 핵심이 되는 주요 인터페이스를 정의하고 있습니다.

  1. List 인터페이스
  2. Set 인터페이스
  3. Map 인터페이스

이중에서 List와 Set 인터페이스는 모두 Collection 인터페이스를 상속받지만, 구조상의 차이로 인해 Map인터페이스는 별도로 정의됩니다.
따라서 List 인터페이스와 set인터페이스의 공통된 부분을 Collection인터페이스에서 정의하고 있습니다.

주요 인터페이스 간의 상속 관계

위의 그림에서 나<K,V>라는 것은 컬렉션 프레임워크를 구성하는 모든 클래스가 제네릭으로 표현되어 있음을 알려줍니다.

주요 인터페이스

컬렉션 클래스(clooection class)

컬렉션 프레임워크에 속하는 인터페이스를 구현한 클래스를 컬렉션 클래스(collection class)라고 합니다.

  • 컬렉션 프레임워크의 모든 컬렉션 클래스는 List와 Set, Map 인터페이스 중 하나의 인터페이스를 구현하고 있습니다.
    또한, 클래스 이름에도 구현한 인터페이스의 이름이 포함되므로 바로 구분할 수 있습니다.
  • Vector나 Hashtable과 같은 컬렉션 클래스는 예전부터 사용해 왔으므로, 기존 코드와의 호환을 위해 아직도 남아 있습니다.

하지만 기존에 사용하던 컬렉션 클래스를 사용하는 것보다는 새로 추가된 ArrayList나 HashMap 클래스를 사용하는 것이 성능 면에서도 더 나은 결과를 얻을 수 있습니다.

  • 다음 예제는 ArrayList 클래스를 이용하여 리스트를 생성하고 조작하는 예제입니다.
import java.util.ArrayList;

public class Collection1 {
    public static void main(String[] args) {
        ArrayList<String> arrList = new ArrayList<String>();    //리스트생성

        arrList.add("넷");   //리스트에 요소에 저장
        arrList.add("둘");
        arrList.add("셋");
        arrList.add("하나");

        for (int i = 0; i < arrList.size(); i++) {  //리스트 요소의 출력
            System.out.println(arrList.get(i)); //넷,둘,셋,하나
        }
    }
}

collection 인터페이스

List와 Set 인터페이스의 많은 공통된 부분을 Collection 인터페이스에서 정의하고, 두 인터페이스는 그것을 상속받습니다.

따라서 Collection 인터페이스는 컬렉션을 다루는데 가장 기본적인 동작들을 정의하고, 그것을 메소드로 제공하고 있습니다.

profile
블로그 이전합니다! https://jyyoun1022.tistory.com/

0개의 댓글