• 카테고리

    질문 & 답변
  • 세부 분야

    웹 개발

  • 해결 여부

    미해결

map,hashmap,parametermap 알기쉽게 설명좀요

21.12.26 20:40 작성 조회수 1.08k

0

map,hashmap,parametermap 알기쉽게 설명좀요
제가 비전공자인데요
정보처리기사취득하고 겨우겨우 끄적이는데
아 남에게도 설명할정도로 정확한 로직을 알고싶은게 저의 목표입니다
저나 비전공자나 전공자도 알기쉽게설명부탁드립니다.

답변 1

답변을 작성해보세요.

0

안녕하세요. 개발자PARK입니다.

Map은 키와 쌍으로 구성된 데이터를 저장할 수 있는 interface형식입니다.

그렇기에 아래와같이 직접적으로 생성이 불가능하며

[불가능]

Map<String,String> cc = new Map<String,String>();

  

[가능]

Map<String,String> bb = new HashMap<String,String>();

Map인터페이스의 구현체로 HashMap등의 클래스를 사용해야됩니다.

 

얻는이점은 아래처럼 함수를 요청할 때 HashMap,TreeMap등으로 접근이 가능하게 해주기에

코드의 유연함과 Map의구현체만 접근이 가능하게됩니다. JAVA언어의 객체지향특징중 다형성에 해당되는 원리입니다.

public String function(Map model)

{

}

  

Map의 대략적인 구조는 아래와 같습니다.

public interface Map<K,V> {

    int size();

    boolean isEmpty();

    boolean containsKey(Object key);

.....등등

}

[HashMap]

실무에서 많이들 사용하는 HahMap은 키와 값형태로 데이터를 저장가능하게 해줍니다.

HashMap<String,String> aa = new HashMap<String,String>();

aa.put("aa","value1");

aa.put("bb","value2");

아래와같이 내부적으로 저장하게됩니다. 

단지 이름처럼 Hashing(수식을 사용하여 필요한 주소를 얻는방법)을 사용합니다.

 

[parametermap]

강의에서 MainDAO.xml파일에 parameterType="java.util.HashMap">

 parameterType대신에 사용할 수 있습니다.

 

parametermap은 아래와 같이 사용될 속성과 타입을 명시해야하는 등 여러가지 불편하기에 강의와 같은 방법을 많이들 사용하게됩니다.

<parameterMap id="groupParam" class="userVO">

<parameter property="groupid" javaType="decimal" jdbcType="NUMERIC" />

<parameter property="name" javaType="string" jdbcType="VARCHAR"/>

</parameterMap>

 

감사합니다.