HashMap은 대표적인 Map 컬렉션 중 하나이다.
Map 컬렉션에는 HashMap, Hashtable, LinkedHashMap, Properties, TreeMap 등이 있다.
Map인터페이스를 상속하고 있기 때문에 Map의 성질을 그대로 가지고 있다.
키와 값은 모두 객체이고, 값은 중복저장될 수 있지만, 키는 중복저장될 수 없다.
키를 중복저장하면 기존의 값은 사라지고 새로 등록한 값이 저장된다.
HashMap은 이름 그대로 해싱(Hashing)을 사용하기 때문에 많은 양의 데이터를 검색하는 데 있어서 뛰어난 성능을 보인다고 한다.
키 (key) 값 (value)은 간단하다.
HasMap의 사용법은
HashMap<String,Object> map(내가 설정하고 싶은 이름) = new HashMap<>();
new로 HashMap을 생성해주면 된다.
넣고 싶은 값은
<String,Integer> 이라면
map.put("사과", 1);
<Integer,String> 이라면
map.put(1, "사과");
이런식으로 값을 넣어주면 된다.
위는 "사과"라는 이름의 String객체의 값은 1이 되고,
아래는 1이라는 이름의 Integer객체의 값은 "사과"가 된다.
.put(key값 , value값) 으로 추가,
.remove(key값) 으로 값 제거,
.clear() 로 모든 값 제거
를 할 수 있다.
map이라는 해쉬맵의 값은
System.out.printIn("[Key}:" + map.getKey() + "[Value]" + map.getValue() ;
로 출력해보면
[Key] :1 [Value]:사과
[Key]:사과 [Value]:1
이렇게 출력된다.
특정 key 의 value값을 가져오고 싶다면 map.get(key)를 사용하면 된다.
System.out.printIn("[Value] :" + map.get(1) ;
System.out.printIn("[Value] :" + map.get("사과") ;
를 출력하면
[Value]:사과
[Value]:1
이 출력된다.
'JAVA > 이펙티브 자바' 카테고리의 다른 글
5. 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 (0) | 2023.06.11 |
---|---|
4. 인스턴스화를 막으려면 private 생성자를 사용하라 (0) | 2023.06.10 |
3. private 생성자나 열거타입으로 싱글턴을 보증하라 (0) | 2023.06.10 |
2. 생성자에 매개변수가 많다면 빌더를 고려하라 (0) | 2023.06.08 |
1. 생성자 대신 정적 팩터리 메서드를 고려하라 (0) | 2023.06.07 |