Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발일기장

Map Collection 본문

프로그래밍/JAVA(spring, mabatis...)

Map Collection

규삼 2020. 9. 7. 11:00

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문을 실행

      }
}