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);
}
}
}
'자바 한계단' 카테고리의 다른 글
제네릭 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 |