반응형
이 글을 검색해서 보는 사람은 HashMap 기능을 알지만 어떻게 쓰는지 기억이 안 나서 들어왔을 가능성이 높다.
하지만 그래도 기초적인 개념은잡고 가자.
1. HashMap
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 리턴
반응형
'Language > Java' 카테고리의 다른 글
[Java] 힙(Heap) (0) | 2022.11.22 |
---|---|
[Java] BufferedReader, BufferedWriter / 자바 문자 입력받기 (0) | 2022.11.20 |
[JAVA] 배열에서 일치하는 문자열 찾기 (0) | 2022.07.21 |
[JAVA] 날짜 계산 (날짜 더하기, 날짜 빼기) (0) | 2022.07.15 |
[JAVA] Int to String, String to Int 형 변환 (0) | 2022.07.01 |
댓글