학교/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판), 생능출판사