- 기존의 코드
List<Map<String, Object>> valueList = service.getValueList();
List<Map<String, Object>> testList = new ArrayList<>();
Map<String, Object> testMap = new HashMap<>();
for(int i = 0; i < valueList.size(); i++) {
testMap.put("test_column1", valueList.get(i).get("test_column1"));
testMap.put("test_column2", valueList.get(i).get("test_column2"));
testList.add(testMap);
}
- 만약 service.getValueList()에서 3개의 다른 값을 가져와서 valueList에서 담았을 때, 필요한 값만 빼서 testList에 옮겨 담으려고 할때
"testList": [
{
"test_column1": "apple_1",
"test_column2": "banana_1"
},
{
"test_column1": "apple_1",
"test_column2": "banana_1"
},
{
"test_column1": "apple_1",
"test_column2": "banana_1"
}
]
- 다음과 같이 3개가 같은값으로 출력되는 오류가 발생한다.
- 수정된 코드
List<Map<String, Object>> valueList = service.getValueList();
List<Map<String, Object>> testList = new ArrayList<>();
Map<String, Object> testMap = new HashMap<>();
for(int i = 0; i < valueList.size(); i++) {
testMap.put("test_column1", valueList.get(i).get("test_column1"));
testMap.put("test_column2", valueList.get(i).get("test_column2"));
testList.add(testMap);
testMap = new HashMap<>(); // <-- 초기화
}
- 새롭게 초기화를 시켜서 넣어주면
"testList": [
{
"test_column1": "apple_1",
"test_column2": "banana_1"
},
{
"test_column1": "apple_2",
"test_column2": "banana_2"
},
{
"test_column1": "apple_3",
"test_column2": "banana_3"
}
]
- 원하는 대로 출력이 된다.
'프로그래밍 > Java' 카테고리의 다른 글
[Java] PageModule만들기 (with. Pageable) (0) | 2023.03.23 |
---|---|
[Java] 엑셀 다운로드 기능 구현 (0) | 2022.06.27 |
[Java] javadocs SnippetException: Cannot document response fields as the response body is empty 오류 (0) | 2022.02.07 |
[Java] java api docs 활용 (0) | 2022.01.17 |
[Java] 게시판 검색 기능 (0) | 2021.05.21 |