JAVA-Map 확실히 이해하기

뚱이아저씨·2024년 2월 20일
0

자바

목록 보기
15/15
post-thumbnail

Map 확실히 이해하기

나는 벌써 개발 7개월차 신입이다.
그동안 나는 뭘한건지 현타가 씨게 왔다...
항상 회사에서 시킨것만 하고 이해하고 넘어갈 생각을 하지 않았다..
개발자는 이해하는것이 중요하다는 주변의 조언을 무시한 결과이다.
앞으로는 확실히 이해하고 넘어가는 습관을 기르려고 한다..

그러기 위해 내가 그동안 이해하지
못하고 넘어갔던 Map에 대해 공부를 해봤다!!

Map에 대해서

나도 구글에 있는 블로그 포스팅 ChrisJang님의 포스팅을 참고 했다.
Map 인터페이스는 Collection 인터페이스와는 다른 저장방식을 가진다.

※여기서 Collection 인터페이스란?!
간단히 말해서 List인터페이스와 Set인터페이스로 구분 한다.
또한 효율적으로 데이터(객체)저장, 처리를 위해 추가,삭제,
검색을 위한 다양한 클래스와 인터페이스의 모임이다.

다시 본론으로 돌아와서!
Map 인터페이스를 구현한 Map컬렉션 클래스들은 키와 값을
하나의 쌍으로 저장하는 방식(key-value방식)을 사용한다.
여기서 key란 실질적인 value을 찾기 위한 이름의 역할을 한다.

☆맵의 가장 큰 특징은 key로 value를 얻어낼 수 있다는 점이다!☆

즉, 예를 들어 Create를 작성한다고 생각을 해보자
DB에 컬럼들이 key이고 그 key에 맞는 value의 값을 넣기위해
CreateController에서는 반환타입으로 Map을 사용할 수 있다.

HashMap

자바 Map 중에 HashMap에 대해 공부해보자

HashMap<String, String> map = new HashMap<String, String>();
map.put("people", "사람");
map.put("baseball", "야구");

HashMap은 제네릭을 이용한다.
위의 HashMap의 제네릭은 key,value 모드 String 타입이다.

※여기서 제네릭이란?!
위 코드에 명시된것 처럼 꺽쇠안에 클래스 타입이 명시된 패턴을
제네릭(Generic)이라고 부르며 제네릭 파라미터는 꺽쇠안에 포함하여 전달한다.
일단 간단하게 제네릭에 대해서는 여기까지만 이야기하고
다시 Map에 대한 설명을 이어나가 보자

Map은 리스트나 배열처럼 순차적으로 해당 요소 값을 구하지 않고
key를 통해서 value를 얻는다.
Map의 특징 중 하나는 key를 통해 value를 얻어낸다는 점이다.
예를 들면 basebll이란 단어의 뜻을 찾기 위해서 사전의 내용을
순차적으로 모두 검색하는 것이 아니라 baseball이라는 단어가
있는 곳만 펼처보는 것이다.
즉, key에 대한 value의 값을 알아서 찾아 간다고 생각하면 편하다.

Get

key에 해당되는 값을 얻기 위해서는 다음과 같이 한다.

System.out.println(map.get("people"));

위와 같이 get 메소드를 이용하면 해당 key에 대한
value의 값을 얻을 수 있다. 위 예제는 결과로 "사람"
이라는 문자열을 출력할 것이다.

Remove

remove 메소드는 Map의 항목을 삭제하는
메소드로 key값에 해당되는 아이템(key,value)을 삭제한 후
그 value 값을 리턴한다.

System.out.println(map.remove("people"));

“people”에 해당되는 아이템(people:사람)이 삭제된 후 “사람”이 출력 될 것이다.

Size

size 메소드는 Map 갯수를 리턴한다.

System.out.println(map.size());

“people”, “baseball”두 값을 가지고 있다가 “people”항목이 삭제되었으므로 1이 출력 될 것이다.

이상 내가 공부한 Map의 내용이다!!
깔끔한 글 정리 감사합니다 ChrisJang님!! 정말 많이 도움 됬어요~

profile
뚱이아빠의 개발자도전기

0개의 댓글