본문 바로가기
Web Programing!/JAVA / JSP

[Java] Map(Key,Value) 추출하기

by 어설픈봉봉이 2019. 10. 2.
반응형
SMALL



[Java] Map(Key,Value) 추출하기


import java.util.HashMap;

import java.util.Iterator;

import java.util.Map;


// 해시맵에 키와 값을 입력하고 불러오는 방법들 3가지를 알아보자.


public class ForMap {

public static void main(String[] agrs) {

        Map<String, String> map = new HashMap<String, String>();

         

        map.put("키값1", "데이터1");

        map.put("키값2", "데이터2");

        map.put("키값3", "데이터3");

        map.put("키값4", "데이터4");

        map.put("키값5", "데이터5");

        map.put("키값6", "데이터6");

                  

        // 방법1 : Interator

        System.out.println("방법1");

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

        // 해시맵 map에 있는 키 값들은 집합(Set)의 형태로 반환하는 keySet()

        // 반환된 집합의 각각의 데이터들을 순차검색할 수 있도록  Iterator를 선언하고 iterator() 함수를 통해 검색 

        while( keys.hasNext() ){ // 다음 키 값이 존재할 때

            String key = keys.next(); // 다음 키 값을 불러온다.

            System.out.println( String.format("키 : %s, 값 : %s", key, map.get(key)) );

            // 키 값에 맞는 데이터를 불러온다.

        }

         

        // 방법2 : keySet

        System.out.println("방법2");

        for( String key : map.keySet() ){

        // 해시맵 map에 있는 키 값들을 집합(Set)의 형태로 반환하는 keySet()

        // for 문의 대상을 keySet()으로 바로 불러와서 각각의 key 요소들을 불러온다

        // 해당 key의 요소를 키 값으로 가지는 데이터들을 불러온다.

            System.out.println( String.format("키 : %s, 값 : %s", key, map.get(key)) );

        }

    

        // 방법3 : entrySet

        System.out.println("방법3");

        for( Map.Entry<String, String> elem : map.entrySet() ){

        // entrySet()은 키 값과 데이터가 모두 필요할 때 사용된다.

        // 기본적으로 키값과 데이터를 불러오기 위한 과정은 방법1,2와 동일하게 다음과 같다.

        // 1. keySet()을 통하여 키 값들을 하나씩 불러온다.

        // 2. 불러온 키 값을 토대로 get()을 통해 키 값에 해당하는 데이터를 불러온다.

       

        // 위와 같은 방법은 탐색을 2번이나 해야되는 불필요한 검색(Lookup)과정이 존재한다. 

        // 따라서, 키 값과 데이터를 한꺼번에 불러와서 불필요한 검색 과정을 줄일 수 있도록 한 것이다.

            System.out.println( String.format("키 : %s, 값 : %s", elem.getKey(), elem.getValue()) );

        }

       

}

}


출처 : https://stove99.tistory.com/96

반응형