개발일기장
Map Collection 본문
Map 컬렉션은 키(key)와 값(value)로 구성된 Entry 객체를 저장하는 구조를 가지고있다.
키와 값은 모두 객체이며 키는 중복저장될 수 없지만 값은 중복 저장 될 수 있다.
만약 기존에 저장된 키와 동일한 키로 값을 저장하면 기존의 값은 없어지고 새로운값으로 대체된다.
MapCollection(HashMap, HashTable, LinkedHashMap, Properties, TreeMap)에서 공통적으로 사용하는 Map interface의 Method
====================================
객체 추가
- V put(K key, V value)
- 주어진 키와 값을 추가, 저장되면 값을 리턴
객체 검색
- boolean containsKey(Object Key)
- 주어진 키가 있는지 여부를 리턴
- boolean containsValue(Object value)
- 주어진 값이 있는지 여부를 리턴
- Set<Map.Entry<K,V>> entrySet()
- 키와 값의 쌍으로 구성된 모든 Map.Entry 객체를 Set에 담아 리턴
- V get(Object key)
- 주어진 키가 있는 값을 리턴
- boolean isEmpty()
- 컬렉션이 비어있는지 여부를 리턴
- Set<K> keySet()
- 모든 키를 Set 객체에 담아서 리턴
- int size()
- 저장된 키의 총 갯수를 리턴
- Collection<V> values()
- 저장된 모든 값을 Collection에 담아서 리턴
객체 삭제
- void clear()
- 모든 Map.Entry(키와 값)를 삭제
- V remove(Object key)
- 주어진 키와 일치하는 Map.Entry를 삭제하고 값을 리턴
==============================================
사용했던 코드
List list = (List) param.get("파라미터"); //파라미터로 넘어온값을 list형태로 생성
for (int i=0; i < list.size(); i++) { //파라미터값의 갯수만큼 반복
//list형태의 파라미터를 map형태로 선언
Map<String, Object> data = (Map<String, Object>) list.get(i);
for (Map.Entry<String, Object> entry : data.entrySet()) { //data에 담긴 모든 값의 갯수만큼
if(entry.getKey().length()>6) { //data의 키값이 6자리보다 크면 패스
continue;
}
if(entry.getValue().toString().length()==0) //data의 값이 0이면 패스
continue;
Map<String, Object> tmpdata = new HashMap<String, Object>(); //원하는값을 넣을 map형태의 tmpdata 선언
tmpdata.put("tmpdata에 넣을값", entry.getValue()); //위에서 걸러진 조건의 값을 넣음
mapper.setUPDATE01(tmpdata); //원하는 값을 담은 map형태의 tmpdata를 파라미터로 update문을 실행
}
}