본문 바로가기
☕️ Java

[Java/Kotlin] HashMap을 사용해보자

by 콩드로이드 2020. 10. 18.

HashMap

 - Map 인터페이스로, Key와 Value값으로 데이터를 저장

 

HashMap을 사용할 일이 많은데, 제대로 정리를 해두면 좀 더 편하게 쓸 수 있을 것 같아 간략하게 정리해보았습니다.

 

기본 사용법

🔹 HashMap 생성

용량, 초기 값을 지정할 수 있지만, 가장 많이 쓰는 사용법만 작성하겠습니다

 

Java

HashMap<DataType, DataType> map = new HashMap<>(); 
HashMap<DataType, DataType> map1 = new HashMap<>(map); // map의 값을 모두 가지는 HashMap생성

Kotlin

val map : HashMap<DataType, DataType> = HashMap()
val map1 : HashMap<DataType, DataType> = HashMap(map) // map의 값을 모두 가지는 HashMap생성

 

🔹 HashMap 삭제

 Java, Kotlin의 사용방법이 같습니다

map.remove(index) // key의 index를 제거
map.clear() // 모두 삭제

 

🔹 HashMap 출력

 HashMap에서 가장 빈번하게 사용되는 부분이면서 중요한 부분이라고 생각됩니다.

println(map); //key, value 전체 출력
println(map.get(index)) /// key의 index에 해당하는 value 출력

for(String str : map.entrySet()){
  println(str) 
}

for(Strin str : map.keySet()){
  println(str)
}
for(Entry<DataType, DataType) entry : map.entrySet()){
  println(entry.getValue()) // entry.getKey()도 출력 가능
}

 

map.keySet() : map의 key를 다 가져옵니다
map.entrySet() : map에 정의된 key값, value값을 가져옵니다.

🔹Iterator

 HashMap과 함께 자주 쓰이는 인터페이스로 컬렉션에 저장되어 있는 요소들을 읽어오는 방법입니다

public interface Iterator{
  boolean hasNext(); // 읽어올 요소가 있는지 true, false로 반환
  object next(); // 다음 데이터를 반환
  void remove(); //next()로 읽어온 요소를 삭제
}

 

🔹 HashMap에 자주 쓰이는 형태

Iterator<Integer> keys = map.keySet().iterator();
while(keys.hasNext()){
  println(map.get(keys.next())) 
}

 

 

간략하게 HashMap에 대해 알아봤습니다.

 

궁금하신 점이나 의견이 있으시면 댓글 부탁드립니다 감사합니다 😊