학교/2-2학기(Java)

[10주차] 11/4(월) 강의내용

C0MPAS 2024. 11. 4. 23:27

7.1 컬렉션과 제네릭

- 컬렉션의 개념

-> 컬렉션은 가변 크기로서 객체의 개수를 염려할 필요 없다

-> 컬렉션 내의 한 객체가 삭제되면 컬렉션이 자동으로 자리를 옮겨준다

 

- 컬렉션의 특징

1) 컬렉션은 제네릭이라는 기법으로 만들어져 있다.

2) 컬렉션의 요소는 객체들만 가능하다. int char double 등의 기본 타입의 데이터는 원칙적으로 컬렉션의 요소로 불가능

Vector<int> v = new Vector<int>(); // 불가능
Vector<Integer> v = new Vector<Integer>(); // 가능

 

- 제네릭 타입 매개변수

<E>: Element를 의미하며 컬렉션에서 요소임을 나타냄

<T>: Type을 의미

<V>: Value를 의미

<K>: Key를 의미


7.2 제네릭 컬렉션 활용

- Vector <E>

 

-> 벡터생성

Vector<Integer> v = new Vector<Integer>();

-> 벡터에 요소 삽입

v.add(Integer.valueOf(5));

v.add(5); // "자동 박싱"에 의해 int 타입의 정수는 자동으로 Integer 객체로 변환되어 삽입된다

-> 벡터 내의 요소 알아내기

Integer obj = v.get(1);
int i = obj.intValue();

int i = v.get(1); // "자동 언박싱"

 

 

- 컬렉션과 자동 박싱/언박싱

 

- 컬렉션을 매개변수로 받는 메소드 만들기

public void printVector(Vector<Integer> v){
	for(int i=0; i<v.size(); i++){
    	int n = v.get(i); // 벡터의 i번째 정수
        System.out.println(n);
    }
}

//메소드 호출 코드
Vector<Integer> v = new Vector<Integer>();
printVector(v); // 메소드 호출

 

- 자바의 타입 추론 기능의 진화

Vector<Integer> v = new Vector<Integer>(); // Java 7 이전

Vector<Integer> v = new Vector<>(); // Java 7부터

var v = new Vector<Integer>(); // Java 10부터

출처: 명품 JAVA Programming(개정 5판), 생능출판사