본문 바로가기
study/Java

[Java] 32. Collection (Map1)

by 금이패런츠 2022. 3. 31.
728x90
반응형
package chap13;

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

/*
 * Map 인터페이스 : (key, 객체(value))쌍으로 객체들을 저장하는 객체
 */
public class MapEx1 {
	public static void main(String[] args) {
		String[] names = {"홍길동","김삿갓","이몽룡","임꺽정","김삿갓"};
		int[] nums = {1234,4567,2350,9870,3456};
		//<String,Integer> : <key 자료형, value의 자료형>
		Map<String,Integer> map = new HashMap<>();
		for(int i=0; i<names.length; i++) {
			//put : map 객체에 (key, value)객체 저장
			map.put(names[i], nums[i]); 
		}
		System.out.println(map);
		//value값 <= get(key)
		System.out.println("김삿갓의 전화번호:" + map.get("김삿갓"));
		System.out.println("홍길동의 전화번호:" + map.get("홍길동"));
		//ketSet() : map 객체에서 key들만 조회
		Set<String> keys = map.keySet();
		for(String k : keys)
			System.out.println(k + "=" + map.get(k));
		//values() : map 객체에서 value들만 조회
		Collection<Integer> values = map.values();
		for(Integer v : values)
			System.out.println(v); //value 값으로 key 조회불가
		
		for(String k : map.keySet())
			System.out.println(k + "=" + map.get(k));
		for(Integer v : map.values())
			System.out.println(v);
		
		//entrySet() : map객체의 (key,value)쌍인 객체들 조회
		//Map.Entry<키자료형,value자료형> : (key,value)쌍인 객체의 자료형
		Set<Map.Entry<String,Integer>> entry = map.entrySet();
		for(Map.Entry<String,Integer> e: entry)
			System.out.println(e.getKey() + "=" + e.getValue());
	}
}
728x90
반응형