보통 db에서 조회해오는 데이터를 조회하여 자료구조로 집어 넣을 때 LIst<Map> 형태의 자료형을 많이 사용한다.
이때 이미 담아온 데이터들을 가지고 필터링을 하거나 조건에 따라 값을 제거해야할 때 사용한다.
package doit.structure;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
public class main {
public static void main(String[] args) {
ArrayList<Map<String, Object>> list = new ArrayList<>();
Map<String, Object> map = new HashMap<>();
map.put("age", "10");
map.put("name", "kim");
map.put("job", "programmer");
Map<String, Object> map1 = new HashMap<>();
map1.put("age", "16");
map1.put("name", "lee");
map1.put("job", "student");
Map<String, Object> map2 = new HashMap<>();
map2.put("age", "16");
map2.put("name", "lee");
map2.put("job", "student");
list.add(map);
list.add(map1);
list.add(map2);
System.out.println("before: "+list.toString());
for(Iterator<Map<String, Object>> it = list.iterator(); it.hasNext();) {
Map<String, Object> obj = it.next();
if("kim".equals(obj.get("name"))) {
it.remove();
}
}
System.out.println("after: "+list.toString());
}
}
- Iterator를 사용하여 map의 특정조건이 충족되면 해당 데이터를 삭제한다.