본문 바로가기
프로그래밍/java

자바에서 많이 사용하는 맵(Map)의 모든것

by 캘리포니아전자두뇌 2024. 11. 26.
728x90
300x250

 

Map? HashMap?

Map은 인터페이스이고, HashMap은 해당 클래스의 인스턴스를 생성하는 코드

자세하게는 Map은 인터페이스라 직접 인스턴스를 생성할 수 없음. 그래서 new HashMap과 같은 구체적인 구현 클래스로 인스턴스를 생성해야함.


 

예시 )

Map<String, Object> map = new HashMap<String, Object>();
// 또는?
HashMap<String, Object> map = new HashMap<String, Object>();

 

 

 

해시맵( HashMap )의 특징?

키-값쌍으로 데이터를 저장하기 때문에, 탐색 속도가 빠름.

내부 구조는 배열과 연결 리스트로 구성되어 있어 메모리 공간을 효율적으로 사용함.

대용량 데이터 처리가 가능함.

데이터 검색이 빈번하거나 중복을 피해야하는 경우에 사용하기 용이함.

 


사용법 ) 

//선언
Map<String, Object> map = new HashMap<String, Object>();

//value 넣기
map.put("name", "홍길동");
map.put("age", 25);
map.put("phone", "");

//value 가지고 오기
map.get("name");

//원소 갯수 확인 하기
map.size();

//value 바꾸기
map.replace("name", "김길동");

//value 널체크 및 빈문자열체크 - boolean
ObjectsUtils.isEmpty(map.get("phone"));

//1.value 널일 경우에 default 반환
map.getOrDefault("phone", "123");
//2.value 널일 경우에 default 반환
Objects.toString(map.get("phone"), "123");

//key가 있는 지 확인 - boolean
map.containsKey(key);
//value이 있는 지 확인 - boolean
map.containsValue(value);

// 맵 비어있는지 여부 - boolean
MapUtils.isEmpty(map);

//서로 다른 맵 합치기
Map<String, Object> subMap = new HashMap<String, Object>();
map.putAll(subMap);

 

 

정리중 =3

728x90
반응형

댓글