본문 바로가기
Java

[초보개발자] HashMap 사용하기 (put, get, remove, Entry)

by 성시니 2021. 7. 11.
반응형

HashMap이란?

Map Interface의 한 종류로 Key - Value 값으로 데이터를 묶어 저장할 수 있는 클래스입니다.

해싱 기법을 사용하므로 많은 양의 데이터중에서 원하는 데이터를 빠르게 가져올 수 있습니다.

 

해싱기법이란? 

해시함수(Hash Function)를 이용해서 데이터를 해시테이블(Hash Table)에 저장하고 검색하는 기법입니다.

해시함수는 데이터가 저장되어 있는 곳을 알려주며, 다량의 데이터 중에서 원하는 데이터를 빠르게 찾을 수 있는 특징이 있습니다.

 

HashMap 이외에도 HashSet / HashTable등의 클래스에서 해싱 기법을 사용합니다.


HashMap 생성하기

HashMap 생성 시 java.util.HashMap 클래스를 import 해주어야 합니다.

<> 안에는 Key와 Value를 지정해주면 됩니다 아래 코드에서 key는 "Integer" Value는 "String"로 지정해 주었습니다.

new HashMap <>()의 타입 파라미터 값은 생략 가능하며 크기를 지정하고 싶다면 () 안에 크기 지정도 가능합니다.

import java.util.HashMap;

public class HashMap_Test {

	public static void main(String[] args) {
		HashMap<Integer, String> map = new HashMap<>();
	}
}

 

HashMap 사용하기

생성한 HashMap에 데이터를 넣어주려면 put 메소드를 사용하면 됩니다.

입력 시 지정한 타입에 맞게 값을 넣어주어야 합니다.

HashMap은 Value 값은 중복이 가능하지만 Key 값은 중복이 안됩니다 만약 key 값이 중복이 되면 나중에 선언된 key값의 Value 데이터가 출력됩니다.

HashMap에 저장된 데이터를 출력하면 아래와 같이 key / value로 묶어서 출력이 됩니다.

출력값

key 값 중복 시 아래와 같이 후에 추가된 key 값으로 저장 및 출력이 됩니다.

먼저 추가했던 1번 사과 출력 안됨

출력값

get 메소드 사용하여 원하는 데이터 출력하기 

출력값

remove 메소드 사용하여 데이터 삭제하기

map.remove() <- key 값 2번 제거

map.clear() <- 모든 데이터 삭제


foreach문 사용하여 HashMap 데이터 추출하기

Map interface의 Entry 메소드를 사용하여 Key 값 Value 값만을 추출할 수 있습니다.

Entry 생성 시 java.util.Map.Entry를 import 해주어야 하며 HashMap에 지정한 Key와 Value 타입과 맞춰 주어야 합니다.

entrySet은 HashMap의 모든 데이터를 확인할 수 있는 메소드입니다.

아래와 같이 foreach문을 사용하면 Key와 Value 값 따로따로 출력이 가능합니다.

 

getKey = HashMap에 저장된 Key 출력

getValue = HashMap에 저장된 Value 출력


데이터 한 줄씩 출력하기

반응형

'Java' 카테고리의 다른 글

Java Stream partitioningBy  (0) 2024.02.13
[Java] Optional<T> isPresent(), ifPresent() 사용하기  (0) 2022.04.21
[Java] Stream 사용하기  (0) 2021.12.24
[초보개발자] ArrayList 배열 사용하기  (2) 2021.07.10
Java 공부노트  (0) 2021.06.30

댓글