ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Java에서 HashMap 사용하기
    JAVA/JAVA 기본 2018. 5. 24. 17:27

    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
Designed by Tistory.