-
카테고리
-
세부 분야
웹 개발
-
해결 여부
미해결
map,hashmap,parametermap 알기쉽게 설명좀요
21.12.26 20:40 작성 조회수 1.08k
0
답변을 작성해보세요.
0
개발자Park
지식공유자2021.12.26
안녕하세요. 개발자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>
감사합니다.
답변 1