자바 기초/자바 기본 개념

[JAVA] [hashMap] key값으로 value 찾기 /value로 key값 찾기/ key, value 있는지 확인/ key값들 각각 출력/ key, value 한꺼번에 가져오기

문에딕트 2022. 4. 6. 11:11

put: 맵에 데이터 입력

get: key를 통해 value얻기

 

** key, value 한꺼번에 가져오기 **

 

keySet(): KEY들 가져오기

values(): VALUE들 가져오기

 

 

** Key 값을 각각 출력하는 방법 **

 

 1. iterator() 이용하는 방법
 2. keySet()을 이용한 for문  
 3. Entry 이용하는 방법

 

 

** 맵에 키, 값 있는지 확인 **

 

containsKey(key): 맵에 인자로 보낸 키가 있으면 true 없으면 false

containsValue(value): 맵에 인자로 보낸 값이 있으면 true 없으면 false

package java_sort;
 
import java.util.HashMap;
import java.util.Map;
 
public class HashmapGetdata {
 
    public static void main(String[] args) {
        
        Map<String, Object> hashMap = new HashMap();
 
 
        // put: 맵에 데이터 입력
        hashMap.put("apple", 1);
        hashMap.put("banana", "sweet");
        hashMap.put("pear", 3);
        hashMap.put("orange", 4);
        
        // hashmap에 value 로 key 찾는 메소드 만들기
   		public static <K, V> K getKey(Map<K, V> map, V value) {
 
        	for (K key : map.keySet()) {
           	 if (value.equals(map.get(key))) {
                return key;
           	 }
       	 }
      	  return null;
   		 }
 
 
        // 그 메소트를 이용해: value를 통해 key얻기  
        
        System.out.println(getKey(hashMap,"sweet"));
        //banana
        System.out.println(getKey(hashMap, "pear"));
        //3
 
 
        // get: key를 통해 value얻기 
 
        String getValue = (String) hashMap.get("banana");
        System.out.println(getValue);
        // sweet 
 
        int getOrange = hashMap.get("orange");
        System.out.println(getOrange);
        // 4
        }
        
        //** key, value 한꺼번에 가져오기
    
    	//keySet(): KEY들 가져오기
        System.out.println(hashMap.keySet());
        [apple, banana, pear, orange]
        
        //values(): VALUE들 가져오기
        System.out.println(hashMap.values());
        [1, sweet, 3, 4]
       
       
        
        // ** Key 값을 각각 출력하는 방법 **


        // 1. iterator() 이용하는 방법
        Iterator<String> iter = hashMap.keySet().iterator();
        while(iter.hasNext()) {
            String key = iter.next();
            System.out.print(key + ", ");
        }

        // apple, banana, pear, orange




        // 2. keySet()을 이용한 for문
        for (String key : hashMap.keySet()) {
            System.out.print(key + ", ");
        }

        // apple, banana, pear, orange




        // 3. Entry 이용하는 방법
        Set set = hashMap.entrySet();
        Iterator iter2 = set.iterator();
        while (iter2.hasNext()) {
            Entry<String, Integer> entry = (Entry)iter2.next();
            System.out.print((String)entry.getKey()  + (Integer)entry.getValue() + ", ");
        }

        // apple 1 , banana 2 , pear 3, orange 4
        
        
        // ** 맵에 키, 값 있는지 확인 **
        
        //containsKey(key): 맵에 인자로 보낸 키가 있으면 true 없으면 false
        System.out.println(hashMap.containsKey("apple"));
		System.out.println(hashMap.containsKey("strawberry"));
        //true
        //false
        
        //containsValue(value): 맵에 인자로 보낸 값이 있으면 true 없으면 false
		System.out.println(hashMap.containsValue(1));
		System.out.println(hashMap.containsValue(9));
        //true
        //false