Set과 Map 완정정복하기!!-Map

영가이·2019년 10월 13일
0

Map

key-value 형식으로 데이터를 저장.
key는 중복 불가, value는 중복가능

key : value
주민번호 : 이름

데이터를 찾을때는 key를 이용해서 검색한다.

put(key,value) : 데이터 저장
get(key) : 데이터 검색
remove(key) : 데이터 삭제

Map의 종류

  • HashMap
    가장 일반적인 map
    순서의 저장이 없음.
    value에 null값 저장이 가능하다.

    	public static void main(String[] args) {
    			HashMap<String, Double> foods = new HashMap<>();
    			//식품명을 key, 칼로리를 value로저장
    			foods.put("hamberger", 850.0);
    			foods.put("rice", 300.0);
    			foods.put("coke", 110.7);
    		
    			System.out.println(foods.get("coke"));
    
    		}

    => 110.7 출력

  • TreeMap
    key를 기준으로 오름차순 정렬.

    		public static void main(String[] args) {
    			HashMap<String, Double> foods = new HashMap<>();
    			//식품명을 key, 칼로리를 value로저장
    			foods.put("hamberger", 850.0);
    			foods.put("rice", 300.0);
    			foods.put("coke", 110.7);
    		
    			//모든 key를 print하는 방법
    			Set<String> keys = foods.keySet();
    		
    			for (String key : keys) {
    				System.out.println(key +":"+ foods.get(key));
    			}
    		}


=> key를 기준으로 알파벳 오름차순 정렬된 모습

  • LinkedHashMap

입력 순서를 기억, 순서 보장

HashMap과 HashTable의 차이

일반적으로 동기화가 필요 없다면 HashMap을, 동기화 보장이 필요하다면 Hashtable을 사용하면된다.
HashMap과 Hashtable은 동기화를 보장하느냐 하지 않느냐는 측면 이외에는 차이가 거의 없다.
사용법도 똑같아, put() 메서드로 데이터를 삽입하고, get() 메서드로 추출하면된다.

(출처: https://firedev.tistory.com/entry/Java-HashMap과-Hashtable-의-차이점)

null값을 허용하지 않는다!

출처 및 참고

http://tech.javacafe.io/2018/12/03/HashMap/
https://firedev.tistory.com/entry/Java-HashMap과-Hashtable-의-차이점

profile
금융 IT서비스를 개발 및 운영하고있는 3년차 개발자입니다.

0개의 댓글