패키지
HashMap 본문
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
'Server-Side > Java' 카테고리의 다른 글
자바 기초교육 5. static 함수선언 (0) | 2016.10.15 |
---|---|
자바기초교육 4. 조건분기문 (0) | 2016.10.15 |
JAVA 힙(heap)/스택 영역, garbage collection (0) | 2016.03.29 |
svn연동하면서 생긴 LoginController 에러/outofmemory (0) | 2016.03.29 |
자바 interface, implement 실습 (0) | 2016.03.28 |