본문 바로가기
학습로그

[레벨1]로또게임 학습로그

by 에드박 2021. 2. 26.

학습로그


equals와 hashcode - 2

내용

  • LottoTicket 객체가 똑바로 생성되었는지 확인하는 테스트를 위해 equals와 hashcode를 오버라이딩함
  • LottoTicket 객체가 내부의 로또 숫자들이 같다고 같은 객체? 라는 의문이 들었음
  • equals와 hashcode를 삭제하고 isInstanceOf를 사용해서 객체 생성 테스트를 진행했음

링크


Enum을 활용한 당첨 결과 계산 - 2

내용

  • 로또 등수를 enum으로 구현
  • 로또 등수의 각 요소는 ( 만족해야하는 매칭 수(matches), 당첨금(reward) ) 를 필드로 가지도록 구현

링크


TreeMap을 이용해서 Map을 정렬 - 3

내용

  • 로또 등수를 정렬하여 출력하기 위해 LottoRank 값을 정렬하는 Comparator 생성
  • TreeMap을 사용해서 로또 당첨 결과를 LottoRank를 기준으로 정렬해줌

링크

Stream API 사용 - 4

내용

  • for문과 forEach문은 최대한 Stream API 를 써서 구현
  • 읽기 좋은 코드가 되는것을 경험

Map 의 computeIfPresent 메소드 - 2

내용

  • 구매한 로또들의 당첨등수를 저장하는 로직에서 computeIfPresent()를 활용
  • compute(), computeIfAbsent() 와 puIfAbsent()에 대해서도 학습

lottoResult.put(rank, lottoResult.getOrDefault(rank, 0) + INCREMENT_COUNT); lottoResult.computeIfPresent(rank, (LottoRank lottoRank, Integer count) -> ++count);

링크


[책] 코딩을 지탱하는 기술 - 5

내용

  • 지금까지 프로그래밍에서 사용해오던 것들에 대한 역사와 변경의 이유에 대해 학습
  • 반복문, 문자열, 배열, 콜렉션, 형(type) 등이 왜 필요했는지, 어떤 이유로 변화해 왔는지 학습
  • 언어들의 공통적인 부분에 대해 알수 있었음

링크

'학습로그' 카테고리의 다른 글

[레벨2] 배포 미션 학습로그  (0) 2021.05.21
[레벨1] 블랙잭 학습로그  (0) 2021.04.27
[레벨2] 체스-Spring 적용 학습로그  (0) 2021.04.23
[레벨1] 체스 학습로그  (0) 2021.03.26
학습 로그란?  (0) 2021.03.08

댓글