[JAVA] 컬렉션 프레임워크(Collection Framework)

임유빈·2022년 7월 23일
0

JAVA

목록 보기
16/17
post-thumbnail

1. 컬렉션 프레임워크(Collection Framework)

(1) 개념

컬렉션이란 사전적 의미로 요소(객체)를 수집해 저장하는 것이다. 컬렉션 프레임 워크는 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 제공되는 컬렉션 라이브러리로 java.util 패키지에 포함된다. 인터페이스를 통해서 정형화된 방법으로 다양한 컬렉션 클래스 이용한다.

배열의 문제점

  • 저장할 수 있는 객체 수가 배열을 생성할 때 결정

    • 불특정 다수의 객체를 저장하기에는 문제가 있다.
  • 객체 삭제했을 때 해당 인덱스가 비게 된다.

    • 낱알 빠진 옥수수 같은 배열
    • 객체를 저장하려면 어디가 비어있는지 확인해야 한다.

2. List 컬렉션

(1) 특징

• 인덱스로 관리
• 중복해서 객체 저장 가능

(2) 구현 클래스

• ArrayList
• Vector
• LinkedList

(3) 주요 메소드

(4) ArrayList

  • 저장 용량(capacity)

    • 초기 용량 : 10 (따로 지정 가능)
    • 저장 용량을 초과한 객체들이 들어오면 자동적으로 늘어남. 고정도 가능

  • 객체 제거

    • 바로 뒤 인덱스부터 마지막 인덱스까지 모두 앞으로 1씩 당겨짐

    (5) LinkedList

  • 특징

    • 인접 참조를 링크해서 체인처럼 관리
    • 특정 인덱스에서 객체를 제거하거나 추가하게 되면 바로 앞뒤 링크만 변경
    • 빈번한 객체 삭제와 삽입이 일어나는 곳에서는 ArrayList보다 좋은 성능

3.Set 컬렉션

(1)특징

• 수학의 집합에 비유
• 저장 순서가 유지되지 않음
• 객체를 중복 저장 불가
• 하나의 null만 저장 가능

(2) 구현 클래스

• HashSet, LinkedHashSet, TreeSet

(3) 주요 메소드

전체 객체 대상으로 한 번씩 반복해 가져오는 반복자(Iterator) 제공

• 인덱스로 객체를 검색해서 가져오는 메소드 없음

(4) HashSet

 특징
• 동일 객체 및 동등 객체는 중복 저장하지 않음
• 동등 객체 판단 방법

4. Map 컬렉션

(1) 특징

• 키(key)와 값(value)으로 구성된 Map.Entry 객체를 저장하는 구조
• 키와 값은 모두 객체
• 키는 중복될 수 없지만 값은 중복 저장 가능

(2) 구현 클래스

• HashMap, Hashtable, LinkedHashMap, Properties, TreeMap

(3)주요 메소드

(4)HashMap

  • 특징

• 키 객체는 hashCode()와 equals() 를 재정의해 동등 객체가 될 조건을 정해야

키 타입은 String 많이 사용

– String은 문자열이 같을 경우 동등 객체가 될 수 있도록
hashCode()와 equals() 메소드가 재정의되어 있기 때문

0개의 댓글