본문 바로가기
JAVA/JAVA 기본

Java에서 HashMap 사용하기

by F.E.D 2018. 5. 24.

Java - HashMap

데이터를 배열에다가 넣어서 저장하던 예전과는 달리 Key-Value 컨셉으로 발달하고 그에 따른 Map은 매우 자바에 있어서 혁신적인 정점의 데이터 묶음기법이라고 할 수 있습니다.

그 중에서 HashMap은 Key-Value 값에 null을 허용하기 때문에 유용하게 쓰입니다.


1. HashMap

선언

1
2
3
4
Map map = new HashMap();
//또는
HashMap map = new HashMap();
 
cs


1
HashMap<String, Integer> map = new HashMap<String, Integer>();
cs


이렇게 지정할 경우에는 데이터 형식이 일정하기 때문에 더 빠르게 찾을 수 있고, 보기도 명확합니다.


데이터 저장

1
2
map.put("ym"1000);
map.put("er"2000);
cs

Key-Value 형식으로 저장하면 쉽게 저장할 수 있습니다.


데이터 불러오기

1
2
3
System.out.println("ym: " + map.get("ym"));
 
ym : 1000
cs


map.get으로 쉽게 불러오실 수 있습니다.



2. HashMap + List

HashMap을 여러개 사용해서 생성한 다음 List에 추가하고 가져오는 연습을 해봅시다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Map map;
List list = new ArrayList();
 
// 첫번째
map = new HashMap();
map.put("삼겹살"8000);
map.put("김치찌개"6000);
list.add(map);
 
// 두번째
map = new HashMap();
map.put("참치볶음밥"6500);
map.put("김밥"2500);
list.add(map);
cs


1
2
3
System.out.println(list);
 
[{삼겹살=8000, 김치찌개=6000}, {참치볶음밥=6500, 김밥=2500}]
cs


list 출력하면 위와같이 호출됩니다.


집어넣은 데이터를 다시 사용하기 위해서 캐스팅 연산(형변환)을 사용해봅시다.


1
2
3
4
5
6
7
HashMap getMap = new HashMap();
 
getMap = (HashMap)list.get(0);
System.out.println("삼겹살 : " + getMap.get("삼겹살"));
 
getMap = (HashMap)list.get(1);
System.out.println("김밥 : " + getMap.get("김밥"));
cs


캐스팅 연산 시에 각각의 HashMap형으로 변환을 하여 get할 수 있습니다.


결과

1
2
삼겹살 : 8000
김밥 : 2500
cs


HashMap의 경우에는 데이터 저장은 느리지만 데이터를 빠르게 운용할 수 있습니다.

Key-Value 값에 null 허용으로 저장할 때 데이터가 빠져있어도 문제가 되지 않습니다.





출처

http://forum.falinux.com/zbxe/?mid=lecture_tip&page=1&document_srl=570168


'JAVA > JAVA 기본' 카테고리의 다른 글

[참조] 숫자 순으로 나열된 HTML ASCII 문자  (0) 2018.05.31
인터셉터란? JSP Filter와의 비교, url-pattern  (0) 2018.05.14
[자료구조] 큐(Queue)  (0) 2018.04.15
REST의 기본  (2) 2018.04.15
Bean Scope & Singleton  (0) 2018.04.12

댓글