본문 바로가기
자바 한계단

Map 컬렉션 - HasMap, Hashtable

by juneMiller 2021. 12. 8.

HashMap

package com.kh.practice.run;

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

public class HasMap01 {

	public static void main(String[] args) {
		
		//key는 String 타입으로, value 는 Integer 타입으로 지정
		Map<String, Integer> hm = new HashMap<String, Integer>();
		
		//put 메서드 이용 key 와 value 추가 
		hm.put("A", 90);
		hm.put("B", 80);
		hm.put("C", 89);
		hm.put("D", 60);
		
		
		//size 메서드를 이용 저장된 객체 수 출력 
		System.out.println("저장된 객체 수  : " + hm.size());
		
		//get 메서드로 특정 key에 해당하는 값 출력
		System.out.println("D의 값 출력 : " + hm.get("D"));
		
		//동일한 key로 추가(기존 내용 삭제) 
		hm.put("C", 70);
		System.out.println("------------------------");
		
		System.out.println(hm);
		
		//keySet 메서드 이용 저장된 모든 Key 값을 Set 컬렉션에 저장
		Set<String> keys = hm.keySet();
		
		//반복자 생성
		Iterator<String> it = keys.iterator();
		while(it.hasNext()) {
			String key = it.next(); //Set의 Key값을 하나씩 key에 대입
			int value = hm.get(key); // 해당 key에 해당하는 value 대입 / 오토 언박싱
			System.out.println("오토 언박싱 "+ key + " : " + value);
		}

	}

}

 

 

HashTable

package com.kh.practice.run;

import java.util.Hashtable;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;

public class HashTable01 {

	public static void main(String[] args) {
		
		/*
		 * Hashtable Hashtable은 HashMap과 동일한 사용법을 갖는다. 
		 * 차이점은 Hashtable은
		 * 동기화(synchronization)를 보장한다. 
		 * 따라서 멀티 스레드에서는 Hashtable을 사용해야 하고, 단일 스레드에서는
		 * HashMap을 사용하는 게 유리하다. Hashtable을 생성하는 방법은 아래와 같다
		 */


		
		Map<String, String> ht = new Hashtable<String, String>();
		
		//key 와 value 값 저장 
		ht.put("사과", "Apple");
		ht.put("복숭아", "Peach");
		ht.put("망고스틴", "Mangosteen");
		ht.put("석류", "Poemegranate");
		ht.put("딸기", "Strawberryies");
		
		
		//entrySet 메서드 이용 Set 컬렉션에 key 와 value 저장 
		Set<Entry<String, String>> fruits = ht.entrySet();
		System.out.println(fruits);
		
		//반복자 생성
		Iterator<Entry<String, String>> it = fruits.iterator();
		while(it.hasNext()) {
			Entry<String, String> entry = it.next();
			String key = entry.getKey();
			String value = entry.getValue();
			System.out.println(key + " : " + value);
		}
		

	}

}

 

 

참고 게시글 : https://blog.naver.com/PostView.nhn?blogId=heartflow89&logNo=221002846073&parentCategoryNo=&categoryNo=28&viewDate=&isShowPopularPosts=true&from=search 

 

[JAVA/자바] Map 컬렉션 - HashMap, Hashtable

Map 컬렉션(Map<K, V>) Map 컬렉션은 키(key)와 값(value)으로 구성된 객체를 저장하는 구조를 ...

blog.naver.com

 

 

'자바 한계단' 카테고리의 다른 글

제네릭 Generic  (0) 2022.01.27
자바 Iterator, Enumeration 인터페이스  (0) 2021.12.26
다형성 ploymorphism  (0) 2021.10.17
상속 Inherit  (0) 2021.10.17
자바 객체배열 복습  (0) 2021.10.01