[내일배움캠프] 11/24 목요일 TIL 회고록
오늘은 팀원분이 만드신 코드들을 한번 쳐보면서
모르는 부분이 생기면 구글링을 하면서 어떻게든 이해해보려고 했다..
여기서 Iterator 문이랑 keyset() 문이 뭔지 잘 모르겠어서 구글링 해봤다.
Iterator<String> iteratorOfAccount = this.bankAccountsList.keySet().iterator();
KeySet()은 Map에 저장되어 있는 키(key)들을 반환한다. get() 메소드로 키(key)에 대응하는 값(Value)를 가지고 올 수 있다.
Iterator 문은 해당 블로그를 보면서 공부하였다.
https://wakestand.tistory.com/247
자바 Iterator 개념부터 사용 방법까지
자바에서 Iterator는 컬렉션 프레임워크(Collection Framework)에서 값을 가져오거나 삭제할 때 사용하는데 먼저 컬렉션 프레임워크는 List, Set, Map, Queue 등을 말한다 다음으로 컬렉션 프레임워크를 생성
wakestand.tistory.com
보통 이런식으로 많이 사용한다고 한다.
Iterator<데이터타입> iterator명 = 컬렉션.iterator();
while(iterator명.hasNext()) {
iterator.next();
}
팀원분이 쓰신거도 거의 일치하게 쓰셔서 보통 저런식으로 많이 사용하는 것 같다.
Iterator<String> iteratorOfAccount = this.bankAccountsList.keySet().iterator();
while (iteratorOfAccount.hasNext()) {
BankAccountRepository account = this.bankAccountsList.get(iteratorOfAccount.next());
여기서 .hasNext()와 .next도 궁금해서 구글링을 해봤다.
hasNext()는 boolean 타입으로 반환된다. 즉 " True of False" 로 반환된다.
다음에 가져올 값이 있으면 True, 없으면 False 를 리턴한다.
next()는 "매개변수 혹은 Iterator 되는 타입" 으로 반횐된다. 즉, 아무 타입으로 반환할 수 있다.
Iterator에 입력된 값들이 String이면 String 값으로 가져온다.
만약에 1,2,3,4,5 라는 숫자들이 저장되어 있는 배열을 Iterator 인터페이스로 가지고 올 떄,
hasNext()는 " True or False " 를 리턴하고 next()는 "숫자 값"을 리턴한다.
참조 한 블로그 링크:
해당 블로그를 보고 이해가 정말 잘되었다. ㅋㅋㅋ
https://yeon-kr.tistory.com/110
(JAVA)hasNext() vs next() 메서드 차이점?
정의 Iterator 인터페이스의 메서드로 자주 사용됩니다. Iterator에 추가적인 요소가 있을 때 가져오는 역할을 하는데요. 단순히 영어만 보면 조금 헷갈립니다. hasNext는 "뭔가 다음에 있으면 가져오
yeon-kr.tistory.com
밑에 코드를 보고 .get은 어떻게 쓰는지 알아봤는데
get은 private로 되어있는 변수를 다른 클래스에서 사용하기 위해서 쓴다고 한다.
BankAccountRepository account = bankAccountsList.get(bankAccountNumber);
bankAccountsList를 보면 private로 선언이 되어있다. 그래서 .get을 쓴거같다.
private HashMap<String, BankAccountRepository> bankAccountsList;
밑에 코드를 보고 compareTo(name) == 0 이 왜 0인지 궁금해서 구글링을 해봤다.
compareTo() 함수에서 문자 비교를 할떄 같으면 0을 반환해서 0을 쓴거같다.
if (this.bankOwnerName.compareTo(name) == 0)
해당 블로그를 참조했다.
https://conanglog.tistory.com/219
[JAVA] compareTo 함수 (숫자/문자 비교)
1. 숫자 비교 기준값.compareTo(비교값); 기준값 == 비교값 0 반환 기준값 > 비교값 1 반환 기준값 < 비교값 -1 반환 Integer a = 7; Integer b = 3; a.compareTo(b); >> 1 int형 선언으로는 안되나? compare() 사용 int a = 7;
conanglog.tistory.com
이렇게해서 오늘 모르는건 구글링해가면서 코드를 다 짜봤다.
내일 한번 더 해보고 더 연습해봐야겠다. 쉽지않다..