-
[Java] HashMap 이란? HashMap 사용법과 예제Java 2021. 2. 1. 23:18
1. HashMap이란?
key와 value의 쌍으로 이루어진 데이터를 저장하는 구조로 이루어져 있습니다.
| 특징
-
<String : Integer>, <String : String> 형태 모두 가능합니다.
-
저장되는 key와 value는 null 값을 허용합니다.
-
많은 양의 데이터를 검색 할때 뛰어난 성능을 보입니다.
2. 예제
1) HashMap 선언
import java.util.HashMap; HashMap<String, String> hmap1 = new HashMap<String, String>(); HashMap<Integer, String> hmap2 = new HashMap<String, String>(); Map<String, String> hmap3 = new HashMap<>(); //new에서 타입 파라미터 생략가능 HashMap<String, String> hmap4 = new HashMap<>(10); // 크기 지정해서 생성
2. 데이터 추가, put
Map<String, String> words = new HashMap<>(); // 값 추가 words.put("사과", "apple"); words.put("책", "book"); words.put("가방", "bag"); words.put("사진", "picture"); words.put("개", "dog");
3. 특정 key에 해당하는 value 가져오기, get
Map<String, String> words = new HashMap<>(); words.put("사과", "apple"); words.put("책", "book"); words.put("가방", "bag"); words.put("사진", "picture"); words.put("개", "dog"); System.out.println(words.get("개")); // dog System.out.println(words.get("카메라")); // null // map에 없는 key는 null로 반환
4. 전체 출력하기
Map<String, String> words = new HashMap<>(); words.put("사과", "apple"); words.put("책", "book"); words.put("가방", "bag"); words.put("사진", "picture"); words.put("개", "dog"); for(String key : words.keySet()){ System.out.println(words.get(key)); } System.out.println(" "); for(Map.Entry<String, String> set : words.entrySet()){ System.out.println(set); }
<결과>
picture
book
apple
bag
dog
사진=picture
책=book
사과=apple
가방=bag
개=dog5. 특정 key/value를 포함하고 있는지 확인하기, containsKey / containsValue
Map<String, String> words = new HashMap<>(); words.put("사과", "apple"); words.put("책", "book"); words.put("가방", "bag"); words.put("사진", "picture"); words.put("개", "dog"); // map 안에 해당 key가 있는지 확인하는 메소드, boolean 타입으로 값을 반환한다 System.out.println(words.containsKey("책")); // true System.out.println(words.containsValue("apple")); // true System.out.println(words.containsValue("building")); // false
6. value 바꾸기, replace
Map<String, String> words = new HashMap<>(); words.put("사과", "apple"); words.put("책", "book"); words.put("가방", "bag"); words.put("사진", "picture"); words.put("개", "dog"); System.out.println(words.get("사진")); // picture words.replace("사진", "photo"); System.out.println(words.get("사진")); // photo
-