일단 Map의 특징을 먼저 알아보자면
Map은 선언 시 <key, value>로 값을 넣는다
Key와 Value는 한 쌍으로
Key로 식별하고 Value에 사용할 값을 넣는 식이다
여기서 Key는 중복이 불가능하고
동일한 Key 값으로 값을 넣을 시
최근에 넣은 값이 적용된다
이제 Map의 주요 메소드들을 통해 사용법을 알아보자면
Map 안에 값 넣기
Map.put(key,value);
Map 안의 값 가져오기
Map.get(key);
Map 크기 확인
Map.size();
Map 안의 내용 변경하기
Map.replace(key, value);
Map 안에 특정 Key, Value 들었는지 확인
Map.containsKey(key);
Map.containsValue(value);
Map의 크기가 0인지 확인
Map.isEmpty();
Map 안의 내용 삭제
Map.remove(key);
Key가 있으면 Value 없으면 default 호출
Map.getOrDefault(key, default);
- Map에 key에 해당하는 값이 없을 경우 default 호출
Key가 없거나 Value가 null일때만 삽입
Map.putIfAbsent(key, value);
Map은 선언 시
HashMap, TreeMap, HashTable, LinkedHashMap
으로 선언이 가능한데 차이점은 아래와 같다
HashMap
- Map 안에서 key/value에 따른 순서 없음
TreeMap
- key 값에 따라 오름차순 정렬,
정렬 때문에 대량의 데이터 삽입/삭제시 오래 걸림
LinkedHashMap
- 삽입 순서에 따라 정렬
HashTable
- key/value에 null을 넣을 수 없음,
동기화(synchronized) 되어있음
자세한 내용은 하단 참조
자바 Hashtable 예제부터 사용법까지
자바에서 Hashtable은 Map을 상속받아 Key, Value 형태를 가지게 된다 Key에 고정된 값, Value는 계속 바뀌는 값이 들어가는 식이다 자바 Map 사용법부터 출력까지 일단 Map의 특징을 먼저 알아보자면 Map은 선언..
wakestand.tistory.com
마지막으로 사용한 예제는 아래와 같다
public static void main(String[] args) {
HashMap<String, Integer> map = new HashMap<String, Integer>(); // Map 선언
map.put("Soraka", 450);
map.put("Garen", 4800); // Map 안에 값 넣기
// Map의 Key는 중복 불가, 동일한 Key에 다른 값을 넣을 경우 최근에 넣은 값 적용
map.put("Garen", 1350);
// Key를 사용하여 Map 안의 값 가져오기
System.out.println("Map Value : " + map.get("Garen"));
System.out.println("Map size : " + map.size()); // 맵 크기 확인
map.replace("Garen", 450); // Key 값의 내용을 변경
System.out.println("Garen Value : " + map.get("Garen"));
// Key가 존재하는지 확인
System.out.println("Key Exist : " + map.containsKey("Garen"));
// Value가 존재하는지 확인
System.out.println("Value Exist : " + map.containsValue(450));
System.out.println("Map Empty : " + map.isEmpty()); // Map의 크기가 0인지 확인
map.remove("Garen"); // key에 해당하는 값 삭제
map.put(null, 150);
map.put("Garen", 450);
System.out.println("Key가 있으면 Value 없으면 default : " + map.getOrDefault("Ahri", 6300));
// Key가 없거나 Value가 null일 때만 삽입
map.putIfAbsent("Master Yi", 6300);
map.putIfAbsent("Garen", 6300);
System.out.println("Key가 없거나 Value가 null일 때만 삽입 : " + map.get("Master Yi"));
System.out.println("Key가 없거나 Value가 null일 때만 삽입 : " + map.get("Garen"));
}
'Language > Java' 카테고리의 다른 글
자바 소켓 통신 서버 & 클라이언트 작성 및 연결해보기 (2) | 2019.12.12 |
---|---|
자바 디버그 설정 및 실행방법 (0) | 2019.12.04 |
자바 Set 사용법부터 출력까지 (0) | 2019.11.27 |
자바 set 정렬 기준 및 예제 (0) | 2019.11.26 |
자바 void return 메소드 뜻부터 호출까지 (0) | 2019.11.26 |
댓글