학교/2-2학기(Java)

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

C0MPAS 2024. 11. 11. 23:48

7.2 제네릭 컬렉션 활용

- ArrayList<E>

-> ArrayList에 요소 삽입

// 정상
a.add("Hello");
a.add("Hi");
a.add("Java");

// 오류
a.add(5);
a.add(new Point(3,5));

 

- 컬렉션의 순차 검색을 위한 Iterator

// 예제 7-4: Iterator를 이용하여 Vector속의 모든 요소를 출력하고 합 구하기

import java.util.*;

public class IteratorEx {
	public static void main(String[] args) {
		Vector<Integer> v = new Vector<Integer>();

		v.add(5);
		v.add(4);
		v.add(-1);
		v.add(2,100);

		Iterator<Integer> it = v.iterator();
		while(it.hasNext()) {
			int n = it.next();
			System.out.println(n);
		}
        
		int sum = 0;
		it = v.iterator();
		while(it.hasNext()) {
			int n = it.next();
			sum += n;
		}

		System.out.println("벡터에 있는 정수 합 : " + sum);
	}
}

 

- HashMap <K,V>

-> 해시맵의 장단점

1) 요소의 삽입, 삭제 시간이 매우 빠르다

2) 요소 검색은 더욱 빠르다

3) 오직 '키'로만 검색해야 한다

 

-> 해시맵 생성

-> 해시맵에 요소 삽입

-> '키'로 '값' 읽기

-> 요소 개수 알아내기

-> 해시맵의 전체 검색

HashMap<String, Vector<Integer>> map = new HashMap<String, Vector<Integer>>();

Set<String> keys = map.keySet();
Iterator<String> it = keys.iterator();

while(it.hasNext()) {
	String key = it.next();
	Vector<Integer> value = map.get(key);
	System.out.print("(" + key + ":" + value +")");
}

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