본문 바로가기
개발자의 공부방/프로젝트

프로젝트] java8 이하 for문과 향상된 for문

by 쌈빡한 쥬니준 2020. 7. 22.

API 를 만들고 있습니다.

요청하는 값 중에서 qrReader를 키 : Value로 보내면 백단에서 그것을 받아서 처리합니다.

 

                "reservationHistoryDetail": [
                    {
                        "rdSeq": "200",
                        "gdPackageSeq": "GD20",
                        "gdPackageName": "테스트",
                        "rdPerson": 2,
                        "rdPrice": 20000,
                        "rdAmount": 40000,
                        "plName": "2",
                        "plSeq": "P6",
                        "sdStartTime1": "09",
                        "sdEndTime1": "12",
                        "sdStartTime2": "00",
                        "sdEndTime2": "00",
                        "inspectInfo": [
                            "3IE3TgUVVtSlhS==asjdlkasjhdlwbda",
                            "i3z2Oih+1r8aoslkjhdlaksjhdl2"
                        ]
                    }
                ],

 

또한 response 하는 값 중에서 inspectInfo의 값을 뽑아서 복화하는 것인데

뽑을 때 for문과 향상된 for문을 써봤습니다.

인덱스가 무조건 사용될 필요가 없어 향상된 for문이 가능합니다.

 

 

일반적인 for문

if("Y".equals(parameterMap.get("qrReader"))) {
   log.warn(">>>>>>>>>>>>>>>>> qrReader Y : " + parameterMap.get("qrReader"));
   for(int i = 0; i < reservationHistory.size(); i++){
      List<Map<String, Object>> reservationHistoryDetail = (List<Map<String, Object>>) reservationHistory.get(i).get("reservationHistoryDetail");
      for(int b = 0; b < reservationHistoryDetail.size(); b++){
         List<String> inspectInfo = (List<String>) reservationHistoryDetail.get(b).get("inspectInfo");
         List<String> resultInspectNo = new ArrayList<>();
         for(int j = 0; j < inspectInfo.size(); j++) {
            resultInspectNo.add(encryptionUtil.decrypt(inspectInfo.get(j), commonEncryptionAlg, commonEncryptionKey));
         }
         reservationHistoryDetail.get(b).put("inspectInfo", resultInspectNo);
      }
   }
} 

 

 

향상된 for문

if("Y".equals(parameterMap.get("qrReader"))) {
   for(Map<String, Object> map : reservationHistory) {
      List<Map<String, Object>> reservationHistoryDetail = (List<Map<String, Object>>) map.get("reservationHistoryDetail");
      for(Map<String, Object> stringObjectMap : reservationHistoryDetail) {
         List<String> inspectInfo = (List<String>) stringObjectMap.get("inspectInfo");
         List<String> resultInspectNo = new ArrayList<>();
         for(String s : inspectInfo) {
            resultInspectNo.add(encryptionUtil.decrypt(s, commonEncryptionAlg, commonEncryptionKey));
         }
         stringObjectMap.put("inspectInfo", resultInspectNo);
      }
   }
}

댓글0