강좌 & 팁
Java에서 HashMap 사용하기
예전에는 데이터를 저장하고자 하면 배열에다가 차곡차곡 쌓아놓적이 있습니다. 받는 데이터들을 그대로 저장만 하면 되니 간편하지만, 반대로 데이터를 가져올 때 매우 불편하였습니다. 커질수록 한없이 늘어나는 데이터 속에서 내가 원하는 데이터를 찾는다면 점차점차 느려지게 하였습니다.
그에 따라 이 방법을 보안하고자 점차 발달한게 Key-Value 컨셉입니다. 데이터를 저장하고 특정 키로 검색하면 값을 바로 받아볼 수 있기 때문에 데이터량이 증가되도 빠르게 원하는 데이터를 찾을 수 있었습니다.
자바에서 Key-Value 컨셉인 Map을 주로 설명하는데 이중에서 HashMap을 설명할 예정입니다.
HashMap은 Key-Value 값에 null을 허용하기 때문에 유용하게 쓰일 수 있습니다.
1. HashMap
HashMap 의 사용법에 대해서 알아보도록 하겠습니다.
1-1. 선언
기본적으로 Map을 선언하고 HashMap을 불러옵니다
Map map = new HashMap();
그리고 이클립스에서 HashMap을 사용하려면 뒤에 Key-Value의 변수형을 명확하게 해주는 것을 권장하고 있습니다. 아래와 같이 정해줄 경우, 데이터의 형식이 일정하다보니 좀더 빠르게 찾을 수 있고, 보기에도 명확합니다.
HashMap<String, Integer> map = new HashMap<String, Integer>();
1-2. 데이터 저장
간단하게 put 명령으로 저장할 수 있습니다. 예를 들어, key 는 String으로 Value 는 Int 형으로 저장해보도록 하겠습니다.
map.put("국어", 90);
1-3. 데이터 불러오기
불러오는 것은 get 명령으로 값을 가져올 수 있습니다. get 뒤에 key를 넣어주면 됩니다.
System.out.println("국어 점수 : " + map.get("국어"));
2. HashMap + List
이번에는 HashMap을 여러개 사용해서 생성된 데이터를 List 에 추가한 다음 가져와보도록 하겠습니다.
2-1. 샘플(1)
아래와 같이 2개의 데이터를 저장해보도록 하겠습니다.
Map map;
저장한 데이터를 출력하면 아래와 같이 나옵니다.
System.out.println(list);
2-2. 샘플(2)
이제 집어넣은 데이터를 가져올 차례입니다.
List 에 저장된 HashMap 데이터를 사용하기 위에서는 HashMap을 만든 다음, 캐스팅 연산으로 가져오도록 합니다.
HashMap getMap = new HashMap();
출력된 결과는 아래와 같이 나타납니다.
1번째 국어 점수 : 90 2번째 국어 점수 : 55
데이터가 많으면 for 문으로 돌리면 됩니다.
~(^_ ^ )~
Map 종류에는 HashMap 말고도 TreeMap도 있고, 각각마다 기능이 다양합니다. 예를 들어 HashMap 의 경우는 데이터 저장이 느리지만, 데이터를 가져올 때는 빠르게 가져올 수 있습니다. 그리고 Key 랑 Value 값에 null을 허용하기 때문에 저장할 때, 데이터가 빠져있어도 문제가 되지 않습니다. 정렬할 수 기능이 있다고 하는데 아직 해보지 않았네요.
|