'자바 hashmap'에 해당되는 글 1건

  1. 2012.04.13 HashMap 정의, 예제 1

(1) HashMap 사용하기

- Key Value를 하나의 쌍으로 저장되는 구조이며 저장되는Value Key null을 허용합니다.

- 하지만 키의 중복은 허용하지 않으므로 null을 가지는 Key 2개일 수는 없습니다.

- 동기화가 포함되지 않았으므로 Multi-Thread환경에서의 구현이 아니라면 Hashtable

비해서 처리 속도가 빠른 장점을 가지고 있습니다.


(2) HashMap 메소드 요약




(3) Sample Code

i) 간단한 HashMap 코드

01 package com.map;
02
03 import java.util.HashMap;
04
05 public class HashMapExample1 {
06 public static void main(String[] args) {
07 HashMap<String, Integer> map = new HashMap<String, Integer>();
08
09 map.put("해리", new Integer(10));
10 map.put("해르미온느", new Integer(100));
11 map.put("론", new Integer(85));
12 map.put("드레이코", new Integer(93));
13 map.put("네빌",new Integer(70));
14 map.put("해르미온느", new Integer(100)); //key의 중복 허용하지 않음
15 map.put(null, new Integer(50)); //key에 null을 인정
16 map.put("강호동", null); //value에 null을 인정
17
18 System.out.println(map);
19
20 Integer num = map.get("해르미온느");
21 System.out.println("해르미온느의 성적은? "+num);
22
23 num = map.get(null);
24 System.out.println("null의 성적은? "+num);
25 }
26 }

<< 출력 결과 >>

해르미온느의 성적은? 100

ii) HashMap에서 key, value추출해보기

01 package com.map;
02
03 import java.util.HashMap;
04 import java.util.Iterator;
05 import java.util.Set;
06
07 public class MapEx1 {
08 public static void main(String[] args) {
09 String[] msg = {"Berlin","Paris","Seoul","New York","London"};
10
11 HashMap<Integer,String> map = new HashMap<Integer,String>();
12
13 for(int i=0; i < msg.length; i++)
14 map.put(i, msg[i]);
15
16 System.out.println(map);
17
18 //중계 객체(Iterator로 변환하기 위한)
19 //1. Set<Integer> s = map.keySet();
20 //2. Iterator<Integer> keys2 = s.iterator();
21 //=> 아래와 같이 1라인으로 변환가능
22 Iterator<Integer> keys2 = map.keySet().iterator();
23
24 while(keys2.hasNext()){
25 Integer key = keys2.next();
26 System.out.print("key: "+key);
27 System.out.print(", value: "+map.get(key)+'\n');
28 }
29 }
30 }

<< 출력 결과 >>

{0=Berlin, 1=Paris, 2=Seoul, 3=New York, 4=London}

key: 0, value: Berlin

key: 1, value: Paris

key: 2, value: Seoul

key: 3, value: New York

key: 4, value: London

iii) 간단한 Hashtable 예제

01 package com.map;
02
03 import java.util.*;
04
05 public class HashtableTest {
06 public static void main(String[] args) {
07 //key와 value에 null을 허용하지 않음
08 Hashtable<String, Double> ht = new Hashtable<String, Double>();
09
10 ht.put("김형중", 182.5);
11 ht.put("김범", 180.3);
12 ht.put("금잔디",163.6);
13 ht.put("구준표",187.2);
14 //ht.put("금잔디", null); => Error!
15 //ht.put(null, 163.5); => Error!
16
17 System.out.println(ht);
18
19 Scanner input = new Scanner(System.in);
20 System.out.print("# 이름을 입력하세요 >> ");
21 String key = input.nextLine();
22
23 double height = ht.get(key);
24 System.out.println(key+"의 신장 : "+height);
25
26 System.out.println("\n이름\t 신장");
27 System.out.println("--------------------");
28
29 Set<String> set = ht.keySet();
30 for(String item : set){
31 height = ht.get(item);
32 System.out.println(item+" \t"+height);
33 }
34
35 }
36 }

<< 출력 결과 >>

{김형중=182.5, 구준표=187.2, 금잔디=163.6, 김범=180.3}

# 이름을 입력하세요 >> 금잔디

금잔디의 신장 : 163.6

이름 신장

--------------------

김형중 182.5

구준표 187.2

금잔디 163.6

김범 180.3

'개발개발 > 자바' 카테고리의 다른 글

3일차  (0) 2013.08.28
2일차  (0) 2013.08.28
초보 Java 웹 개발자들을 위한 학습 로드맵 프로그래밍  (0) 2012.05.16
변수  (0) 2012.04.16
생각하고 코딩하기  (0) 2012.04.13
Posted by 공돌공돌
,