나의 수업일지

인천 일보 아카데미 18일차 Map으로 수정하기

GUPING 2023. 3. 18. 01:19
  • ArrayList를 Map으로 수정해보기
 

인천 일보 아카데미 13일차 do_while / try_catch_finally / 다형성

do_while을 사용해보기 > do , while 사용 > do를 이용한 반복문 사용의 예시입니다 > 메소드에서 사용되었다는 점을 참고해주세요! public static char genderCheak() { > 사용자의 성별 선택에 대한 메소드 입니

guping.tistory.com

13일차에 만들었던 은행 시스템에 사용된 ArrayList를 Map으로 수정해보는 시간이였습니다

  • 수정 내용

Repository 수정 전 ArrayList
Repository 수정 후 Map

중괄호도 생략이 가능하다 단! 실행문이 한줄일때만 가능하다

하지만 중괄호는 생략하는것보다 써주는게 더 좋다

 

  • Service를 Map으로 (왼쪽이 수정 , 오른쪽이 원본)

수정 _ 비수정

  • Service_loginCheak

수정 없음

  • Service_findAll

Map으로 받아왔기 때문에 list 넣으면서 정렬해줌

  • Service_logout

수정 없음

  • Service_delete

수정 없음

  • Service_update

수정 없음

  • Service_deposit

수정 없음

  • Service_findById

수정 없음

  • Service_witdraw

수정 없음

  • Service_transfer

수정 없음

  • Repository_save를 Map으로 수정

왼쪽이 Map 수정 오른쪽이 수정 전

메소드 add는 리턴 타입이 boolean이기 때문에 그냥 리턴해도 true , false로 리턴하지만

메소드 put 의 경우 리턴 타입이 Map의 벨류타입과 같아지고

출력하는 경우 전에 있던 값이 출력되는것을 이용해 대입한 값이 null이라면 true

null이라면 Map자체에 문제가 있다는 말이기 때문에 fasle를 리턴하게 하였습니다

  • Repository_loginCheak

사용자가 입력한 정보가 저장된 정보와 맞는지 확인하기 위해

keysey을 String d에 대입하며 if문의 조건에 맞는경우 true for문을 다돌렸지만 if문에 맞는 조건식이 없는 경우

for문을 빠져나가며 fasle를 리턴합니다

  • Repository_findAll

findAll은 Map의 양식에 맞게 수정만했습니다

  • Repository_delete

delete는 Map의 양식에 맞게 수정만했습니다

  • Repository_update

Map으로 수정 --- 수정 전

update도 Map의 양식에 맞게 수정했습니다

  • Repository_deposit&withdraw

실행에 대한 과정은 같지만 양식이 많이 다릅니다

아직 Map으로 저장하고 불러오는 양식에 익숙하지 않기 때문에

수정시간이 제일 길었습니다

Map은 key값으로 벨류를 불러오면 객체를 저장한 경우 객체자체를 비교하고

그 객체 안에 있는 정보를 가져와 비교하거나 수정하기 위해서는 get을 한번 더 사용하여 접근해야합니다

 

  • Repository_getAccount

왼쪽 Map으로 수정 ----오른쪽 수정전

  • Repository_findById

왼쪽 Map으로 수정 -- 오른쪽 수정전

  • Repository_breakList

왼쪽 Map으로 수정 -- 오른쪽 수정전

  • Repository_transferCheck

왼쪽 Map으로 수정 -- 오른쪽 수정전