컬렉션이란?

·2025년 6월 1일

Power Java

목록 보기
72/75

13.2 컬렉션이란?

컬렉션

: 자료를 저장하기 위한 구조

  • 종류
    : 리스트, 스택, 큐, 집합, 해쉬 테이블 등

-컬렉션은 제네릭 기법으로 구현되어 있기 때문에 어떠한 타입의 데이터도 저장할 수 있다.

크기가 고정인 배열의 단점을 보완한, 가변 크기를 지닌 벡터를 사용하면 리스트를 편리하게 저장할 수 있다.

< 컬렉션의 종류 >

-모두 java.util 패키지에 포함되어 있다.

컬렉션 인터페이스 계층 구조



-List는 동적 배열을 정의한다.
-set은 집합을 정의한다.
-Map은 키가 주어지면 값을 반환하는 딕셔너리와 같은 자료구조를 정의하고 있다.

*사용자는 자신이 인터페이스를 구현하여도 되고(고급 사용자)
자신의 필요에 맞는 컬렉션 클래스를 선택하여 사용하면 된다.

< 컬렉션의 특징 >

  • 제네릭을 사용한다.
  • 기초 자료형은 저장할 수 없다. 클래스만 가능하다.
  • 기본 자료형을 저장하면 자동으로 랩퍼 클래스의 객체로 변환된다. (=오토박싱)

< 컬렉션 인터페이스의 주요 메소드 >

중요 메소드

  • add()
  • remove()

< 컬렉션의 모든 요소 방문하기 >

Ex) ArrayList에 문자열을 저장하였다가 꺼내는 코드

String a[] = new String[] { "A", "B", "C", "D", "E"	};
List<String> list = Arrays.asList(a);

(1) 전통적인 for 구문

for (int i=0; i<list.size(); i++)
	System.out.println(list.get(i));

(2) for-each 구문

for (String s: list)
	System.out.println(s);

(3) 반복자(Iterator)를 사용할 수 있다.
-반복자는 특별한 타입의 객체로,
컬렉션의 원소들을 접근하는 것이 목적이다.
-반복자는 모든 컬렉션에 적용할 수 있다.

*반복자는 java.util 패키지에 정의되어 있는
Iterator 인터페이스를 구현하는 객체이다.

Iterator 인터페이스의 메소드

반복자의 사용 방법

1) ArrayList의 iterator() 메소드를 호출하여 반복자 객체를 얻는다.
2) 반복자 객체의 hasNext()와 next() 메소드를 이용하여 컬렉션의 각 원소들을 접근하게 된다.

String S;
Iterator e = list.iterator();
while(e.hasNext())
{
	s = (String)e.next();
    System.out.println(s);
}

(4) Stream 라이브러리를 이용하는 방법
-forEach 메소드와 람다식을 사용한다.

list.forEach((n) -> System.out.println(n));


1. List 계열, Set 계열, Map 계열, Queue 계열 등
2.
List: 순차적으로 데이터를 저장하고 접근할 때
→ 예: 학생 명단, 주문 목록 등
Set: 중복 없이 유일한 데이터를 저장할 때
→ 예: 사용자 ID 목록, 수강 과목 코드 집합 등
Map: 키-값 형태로 빠르게 검색할 때
→ 예: 학번-이름, 제품코드-가격
Queue: 순서대로 작업 처리할 때
→ 예: 프린터 작업 큐, 대기열 처리
3.
대표적인 메서드 예시:

add(E e): 요소 추가
remove(Object o): 요소 제거
contains(Object o): 포함 여부 확인
isEmpty(): 비어 있는지 확인
size(): 요소 개수 반환
iterator(): 반복자 반환

0개의 댓글