HashMap 사용법

Kyu·2021년 1월 13일
0

Map 에는 key값에는 중복이 허용되지 않는다
만약에 one ->1 일때 one->200이 들어오면
새로운 one은 못들어오고 기존에 있던 one->1이 one->200으로 바뀐다
valuer값은 중복이 허용된다.
만약에 two->2 가 있을때 three->2가 들어오는 것은 허용된다

주로 처음에 맵을 이용하면 해쉬맵을 사용한다고 보면된다

List와 Set은 그 값이 하나만 들어오기 때문에 구현할때
List<String> a = new List<String>(); 이런식으로 쓸수있었다
하지만 맵은 들어오는 값이 두개이기때문에 제너릭에 <String, Integer> 이런식으로 두개의 값을 넣어줘야한다. 여기서 첫번째 String은 key, 두번째 Integer은 value이다.

기본적인 map 사용법

a.put("one", 1);
a.put("two", 2);
System.out.println(a.get("one")); // 1
System.out.println(a.get("two")); // 2

a.containsKey("one"); //true

이번엔 반복문을 통해서 전체출력 방법을 알아보자

Set s = a.entrySet();
System.out.println(s);
Iterator i = a.iterator();
while(i.hasNext()) {
	System.out.println(i.next());
}
iteratorUsingForEach(a);

static void iteratorUsingForEach(HashMap map) {
	Set<Map.Entry<String, Integer>> entries = map.entrySet();
	for (Map.Entery<String, Integer> entry : entries) {
		System.out.println(entry.getKey() + " : " + entry.getValue());
	}
 }
iteratorUsingIterator(a);

static void iteratorUsingIterator(Hashmap map) {
	Set<Map.Entry<String, Integer>> entries = map.entrySet();
	Iterator<Map.Entry<String, Integer>> i = entries.iterator();
	while(i.hasNext()) {
		Map.Entry<String, Integer> entry = i.next();
		System.out.println(entry.getKey() + " : " + entry.getValue());
	}
}

Map에 값을 전체 출력하기 위해서는 entrySet(), keySet() 메소드를 사용하면 되는데 entrySet() 메서드는 key와 value의 값이 모두 필요한 경우 사용하고, keySet() 메서드는 key의 값만 필요한 경우 사용합니다.
출처: https://tychejin.tistory.com/31

참고
생활코딩 Map의 기본사용법(1/2)
생활코딩 Map의 기본사용법(2/2)
HashMap 사용법

profile
TIL 남기는 공간입니다

0개의 댓글