본문 바로가기
Language/Java

[JAVA] HashMap 사용

by 애기 개발자 2022. 8. 3.
반응형

이 글을 검색해서 보는 사람은 HashMap 기능을 알지만 어떻게 쓰는지 기억이 안 나서 들어왔을 가능성이 높다.

 

하지만 그래도 기초적인 개념은잡고 가자.

 

1. HashMap

출처: https://coding-factory.tistory.com/556

 

Key와 Value로 이루어진 배열이라 생각하면 편하다.

 

하지만 배열처럼 index 번호는 없고 Key 또는 Value로 호출하는 방식이다.

 

Key : Value 가 1:1 로 매칭 된다.

 

2. 선언

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

HashMap<[형식], [형식]> '선언할 변수 명' = new HashMap<[형식], [형식]>();

 

위와 같이 선언한다.

 

안에 내부에는

Integer, String, Float, Vector... 등 다양한 형식을 넣을 수 있다.

 

3. 입력

map.put("fruit", "apple");
map.put("animal", "cat");
map.put("tea", "coffee");
map.put("del", "delete");
//{tea=coffee, fruit=apple, animal=cat, del=delete}

put( [Key], [Value] )로 넣어서 입력한다.

 

아래의 주석은

 

Syetem.out.println(map);

으로 map 전체를 호출한 것으로

 

넣은 순서와 무관하게 안에 있는 key와 value를 전부 보여준다.

 

4. 삭제

map.remove("del");
//{tea=coffee, fruit=apple, animal=cat}

remove( [Key] )로 삭제할 수 있다.

 

5. 출력 방식

5-1. get( [Key] )

System.out.println(map.get("fruit")); //apple
System.out.println(map.get("animal")); //cat
System.out.println(map.get("tea")); //coffee

get( [Key] )를 입력하면 해당 Key와 매칭 되는 Value값을 출력해준다.

 

5-2. entrySet()

//entrySet()
for (Entry<String, String> entry : map.entrySet()) {
	System.out.println("Key : "+entry.getKey() + ", Value : "+entry.getValue());
}
/* 
Key : tea, Value : coffee
Key : fruit, Value : apple
Key : animal, Value : cat 
*/

5-3. keySet()

//KeySet()
for (String i : map.keySet()) {
	System.out.println("Key : "+i + ", Value : "+map.get(i));
}
/*
Key : tea, Value : coffee
Key : fruit, Value : apple
Key : animal, Value : cat
*/

 

5-4. entrySet().iterator()

//entrySet().iterator()
Iterator<Entry<String, String>> entries = map.entrySet().iterator();
while(entries.hasNext()) {
	Map.Entry<String, String> entry = entries.next();
	System.out.println("Key : "+entry.getKey() + ", Value : "+entry.getValue());
}
/*
Key : tea, Value : coffee
Key : fruit, Value : apple
Key : animal, Value : cat
*/

5-5. keySet().iterator()

//keySet().iterator()
Iterator<String> keys = map.keySet().iterator();
while(keys.hasNext()) {
	String key = keys.next();
	System.out.println("Key : "+key + ", Value : "+map.get(key));
}
/*
Key : tea, Value : coffee
Key : fruit, Value : apple
Key : animal, Value : cat
*/

 

6. 특정 key 혹은 value가 있는지 확인 contains

6-1. containsKey( [Key] )

System.out.println(map.containsKey("animal")); //true
System.out.println(map.containsKey("device")); //false

containsKey()를 사용하면 해당 HashMap에 원하는 Key값이 있는지 확인한다.

 

있으면 true, 없으면 false를 리턴한다.

6-2. containsValue( [Value] )

System.out.println(map.containsValue("coffee")); //true
System.out.println(map.containsValue("computer")); //false

위와 동일하게 containsValue()를 사용하면 해당 HashMap에 찾는 Value값이 있는지 확인한다.

 

있으면 true, 없으면 false 리턴

반응형

댓글