'List<Map<String, Object>>'는 제네릭을 사용하여 구성된 자료형입니다.
이는 말 그대로 'Map<String, Object>' 객체들의 리스트를 나타냅니다. 각각의 'Map<String, Object>' 객체는 키(key)와 값(value)의 쌍으로 구성되어 있으며, 이 리스트는 여러 개의 맵 객체를 순서대로 저장할 수 있습니다.
'List<Map<String, Object>>'를 사용하는 경우, 리스트 내부에 있는 각각의 맵 객체는 동일한 키(key)를 사용할 수 있으며, 각 맵 객체는 키를 통해 해당하는 값을 찾아내거나 업데이트할 수 있습니다. 또한, 리스트 내부의 맵 객체들은 순서가 있으므로 인덱스를 사용하여 특정 위치의 맵 객체에 접근할 수도 있습니다.
List<Map<String, Object>> list = new ArrayList<>();
// 첫 번째 맵 객체
Map<String, Object> map1 = new HashMap<>();
map1.put("key1", "value1");
map1.put("key2", 123);
list.add(map1);
// 두 번째 맵 객체
Map<String, Object> map2 = new HashMap<>();
map2.put("key1", "value2");
map2.put("key2", true);
list.add(map2);
위의 예제에서는 'List<Map<String, Object>>' 객체인 'list'를 생성한 후, 'Map<String, Object>' 객체인 'map1'과 'map2'를 생성하여 리스트에 추가합니다. 각 맵 객체에는 키('"key1"', '"key2"')와 해당하는 값('"value1"', '123', '"value2"', 'true')을 설정합니다.
이후, 'list' 내부의 맵 객체들을 순회하거나 특정 위치의 맵 객체에 접근하려면 인덱스나 키를 사용하여 접근할 수 있습니다. 예를 들어, 'list'의 첫 번째 맵 객체의 '"key1"'에 해당하는 값을 가져오기 위해서는 다음과 같이 할 수 있습니다.
Object value = list.get(0).get("key1");
System.out.println(value); // 출력: value1
위의 코드에서는 'list.get(0)'을 통해 리스트의 첫 번째 맵 객체에 접근하고, 'get("key1")'을 통해 해당 맵 객체의 '"key1"'에 해당하는 값을 가져옵니다.