패키지

HashMap 본문

Server-Side/Java

HashMap

업단업업 2016. 4. 13. 17:36

 

HashMap이란 Map 인터페이스의 한 종류로서 Key와 Value값으로 데이터를 저장하는 형태를 가지고 있다.

Map이란  Key(키), value(값)을 하나의 쌍으로 묶어서 저장하는 컬렉션 클래스들을 구현하는데 사용되는 것.

key, value 값으로 저장하는 list형태의 조상이라고 생각.

 

HashMap은 Map인터페이스를 구현한 것 이기 때문에 Map의 속성을 모두 가지고 있고, 저장 방식 또한 동일.

그리고 해싱(hashing)이란 검색 방법을 사용하기 때문에 / 많은 양의 데이터를 검색하는데 있어서 뛰어난 성능을 보여준다.

 

HashMap에서 한가지 주의 할 것은 map에 데이터를 등록할 때, key값은 중복되지 않고, value값은 중복이 허용된다는 점.

 

 생성자/메서드

설명 

 HashMap()

HashMap 객체를 생성한다. 

 boolean containsKey(Object key)

hashmap에 지정된 키(key)가 포함되어 있는지 알려준다. (포함되어 있으면 true)

boolean containsValue(Object key)

hashmap에 지정된 value가 포함되어 있는지 확인. (포함되어 있으면 true)

Object get(Object key)

지정된 키(Key)의 값(객체)을 반환한다.

boolean isEmpty()

HashMap이 비어 있는지 확인한다.

Object put(Object key, Object value)

hashmap에 키와 값을 저장한다.

Object remove(Object key)

hashmap에 지정된 키로 저장된 값(객체) 제거한다.

int size()

hashmap에 저장된 요소의 갯수를 반환한다.

 

 

코딩

package com.iffice.test;

import java.util.Date;
import java.util.HashMap;

public class Test01 {

 public static void main(String[] args){
  
  //hashmap 선언
  HashMap<String, String> map = new HashMap<String, String>();
  
  //데이터삽입
  map.put("name", "troye");
  map.put("gender", "boy");
  map.put("job", "singer");
  map.put("date", new Date().toString());
  
  //map 정보
  System.out.println("isEmpty(map이 비어있는가) : " +map.isEmpty());
  System.out.println("Size(맵의 갯수 반환) : " + map.size());
  //지정한 키가 존재하는지 여부를 반환한다.
  System.out.println("containkey(지정한 키가 존재하는지) : " + map.containsKey("date"));
  //지정한 값이 존재하는지 여부를 반환
  System.out.println("containValue(지정한 값이 존재) : "+ map.containsKey("name"));
  
  //map 데이터 출력
  System.out.println();
  System.out.println("====데이터====");
  System.out.println("Name :" + map.get("name"));
  System.out.println("Gender:" + map.get("gender"));
  System.out.println("JOB :" +map.get("job"));
  System.out.println("Date : "+map.get("date"));
  
  //key "date"삭제
   map.remove("date");
  
   //key name값 변경
   map.put("name", "onedirection");
  
   //데이터변경 후 map정보
   System.out.println();
   System.out.println("===데이터 변경 후 map 정보====");
   System.out.println(" isEmpty  :"+map.isEmpty());
   System.out.println(" Size :"+map.size());
   System.out.println("ContainKey : "+map.get("name"));
   System.out.println("ContainValue :"+map.get("name"));
  
   //데이터 변경 후 Map 출력
   System.out.println();
   System.out.println("===데이터 출력====");
   System.out.println("name : "+map.get("name"));
   System.out.println("job: "+map.get("job"));
   System.out.println("gender: "+map.get("gender"));
   System.out.println("Date:"+map.get("date"));
  
 }
}
 

결과

isEmpty(map이 비어있는가) : false
Size(맵의 갯수 반환) : 4
containkey(지정한 키가 존재하는지) : true
containValue(지정한 값이 존재) : true

====데이터====
Name :troye
Gender:boy
JOB :singer
Date : Wed Apr 13 17:35:33 KST 2016

===데이터 변경 후 map 정보====
 isEmpty  :false
 Size :3
ContainKey : onedirection
ContainValue :onedirection

===데이터 출력====
name : onedirection
job: singer
gender: boy
Date:null 

 

 

 

 

참조: http://arabiannight.tistory.com/entry/%EC%9E%90%EB%B0%94Java-%EC%9E%90%EB%B0%94-HashMap-%EC%9D%B4%EB%9E%80

Comments