JAVA_28_HashMap_컬렉션

hyeong taek jo·2023년 7월 12일

JAVA

목록 보기
28/39

📌HashMap이란?

  • 키(key)와 값(value)의 쌍(pair)으로 이루어진 데이터의 집합
  • 순서는 유지되지 않으며, 키는 중복을 허용하지 않고, 값은 중복 허용

예시 1

import java.util.HashMap;

public class HashMapEx {

	public static void main(String[] args) {
		//key는 중복허용 x, value 중복허용 O
		
		//       key         value
		HashMap< String   ,  String > hm = new HashMap<>();
		hm.put("손흥민", "010-3333-3333");
		hm.put("김준수", "010-2222-3456");
		hm.put("조정은", "010-3456-7890");
		hm.put("조정은2", "010-3456-7890");
		//hm.put("조정은", "010-3456-7891");
		// 중복된 key의 값을 더하면 마지막 값만 도출된다.
		
		System.out.println("손흥민  TEL: " + hm.get("손흥민"));
		                                       //key값을 입력하면 value값이 나옴
		System.out.println("김준수  TEL: " + hm.get("김준수"));
		System.out.println("조정은  TEL: " + hm.get("조정은"));
		System.out.println("조정은2  TEL: " + hm.get("조정은2"));
	}
}

손흥민 TEL: 010-3333-3333
김준수 TEL: 010-2222-3456
조정은 TEL: 010-3456-7890
조정은2 TEL: 010-3456-7890


예시 2

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

public class HashMapEx2 {

	public static void main(String[] args) {
		HashMap<String, String> hm = new HashMap<>();
		hm.put("손흥민", "010-3333-3333");
		hm.put("김준수", "010-2222-3456");
		hm.put("조정은", "010-3456-7890");
		
		//향상형 For문
		// Set은 key들만 모아서 값을 가진다.
		// Map은 순서유지 안되므로 값이 뒤죽박죽이다.
		Set<String> st = hm.keySet();
		for(String str : st) {
			System.out.println(str +"의 전화[Set]-->" + hm.get(str));
		}
		
		Iterator<String> it = hm.keySet().iterator();
		                     // hm.keySet()을 iterator로 만들어준다.
		System.out.println("------iterator HashMap 조회------");
		while(it.hasNext()) {
			String key = it.next();
			System.out.println(key+hm.get(key));
			//System.out.println(it.next()+hm.get(it.next()));
		}
	}
}

조정은의 전화[Set]-->010-3456-7890
손흥민의 전화[Set]-->010-3333-3333
김준수의 전화[Set]-->010-2222-3456
------iterator HashMap 조회------
조정은010-3456-7890
손흥민010-3333-3333
김준수010-2222-3456

profile
마포구 주민

0개의 댓글