HashMap이란 Map인터페이스의 한종류로써 Key와 Value 값으로 데이터를 저장하는 형태를 가지고 있다.
예를들면 사전처럼 "people" = "사람", "baseball" = "야구" 이런식으로 Key와 value로 대응관계를 쉽게 표현해주는 자료형이라 생각하면 된다.
Key |
Value |
people |
사람 |
baseball |
야구 |
HashMap은 Map인터페이스를 구현하였기 떄문에 Map의 속성을 모두 가지고 있고, 저장방식 또한 동일하다.
그리고 해싱(Hashing)이란 검색방법을 사용하여 많은 양의 데이터를 검색하는데 있어 뛰어난 성능을 보인다.
HashMap에서 주의할 점이 있다면 map데이터를 등록할 때, key값은 중복이 되지않고 value는 중복이 허용된다는 점이다.
ex)
map.put("계절","겨울");
map.put("좋아하는계절","겨울");
map.put("계절","봄"); // "계절"이라는 key값에 저장된 value가 "겨울"에서 "봄"으로 변경
결과
Key |
Value |
계절 |
봄 |
좋아하는계절 |
겨울 |
=> Key값은 컬렉션 내의 유일한 값이고, Value값은 같은 값이 여러개 있어도 상관이없다.
<HashMap 사용하기>
put
HashMap<String, String> map = new HashMap<String, String>(); // HashMap 생성
map.put("people", "사람");
map.put("baseball", "야구");
key와 value가 String 형태인 HashMap을 만들었고. key와 value는 put메소드를 이용하여 입력한다.
get
key에 해당되는 값을 얻기 위해서 사용한다.
System.out.println(map.get("people"));
위와같이 get 메소드를 이용하면 value값을 얻을 수 있다. 위 예제는 결과로 value값인 "사람"이라는 문자열을 출력할 것이다.
containsKey
containsKey 메소드는 맵(Map)에 해당 키(key)가 있는지를 조사하여 그 결과값을 리턴한다.
System.out.println(map.containsKey("people"));
"people"이라는 키는 존재하므로 true가 출력될 것이다
remove
remove 메소드는 맵(Map)의 항목을 삭제하는 메소드로 key값에 해당되는 아이템(key, value)을 삭제한 후 그 value 값을 리턴한다.
System.out.println(map.remove("people"));
"people"에 해당되는 아이템(people:사람)이 삭제된 후 "사람"이 출력된다.
size
size 메소드는 Map의 갯수를 리턴한다.
System.out.println(map.size());
"people", "baseball" 두 값을 가지고 있다가 "people"항목이 삭제되었으므로 1이 출력된다.
실행화면
다음 포스팅에는 HashMap을 이용한 영어 단어장을 만들어보고 코드를 올리도록 하겠습니다.
'웹개발 > Java & JavaScript' 카테고리의 다른 글
[JS] JavaScript에서 contextpath 구하기(window 객체 활용) (0) | 2020.11.24 |
---|---|
[JavaScript] 숫자표기시 콤마(,) 표기시키기 [code] (0) | 2020.09.09 |
[java] Jsoup을 이용한 크롤링 (자바 크롤링) (2) | 2019.03.02 |
[java]코딩연습 - 369게임 (0) | 2019.02.28 |
[Java 개념정리] HashMap 을 이용한 영어단어장[코드] (0) | 2019.02.22 |
댓글