본문 바로가기
Today I Learned 2024. 5. 4.

(24.05.04)[3주차] WIL

WIL

개인과제 & CODE KATA 

  • String에 Char 타입 더하기 : += 평범한 더하기 연산을 통해 붙이기
  • enum -> 배열 : (enum이름).value()
  • Number 클래스 : 모든 숫자의 조상 클래스, <T extends Number> 일경우 T 타입은 어떤 숫자 타입도 와도 가능

팀과제

  • 타입별 0/0
    • double 0/0 은 NaN 숫자가 아님으로 반환 : 어떠한 연산도 출력도 안되는 상태
    • int 0/0 은 ArithmeticException 발생

Stream 활용하기

3주차에 최대한 많이 활용하려고 노력한 것, CODE KATA, 개인/팀 과제에서 전체적으로

  • List->Array : (Integer리스트리름).stream().mapToInt(Integer::intValue).toArray()
  • Array->Stream : Arrays.stream(변환할배열) / Stream.of( 변환할배열)
    • 단, IntStream.of LongStream.of DoubleStream.of 등이 존재
    • import java.utl.stream.IntStream; 입력필요
  • Stream->컬랙션/배열 : .toList .toMap .toSet .toArray(위 List->Array와 달리 filter등의 중간연산을 거칠 경우)
    • 단, toArray는 래퍼클래스 스트림에서 동일 기본형 스트림으로 변환할때, toArray(size -> new int[size]) 활용
  • filter() : Predicate 변수로 받아 ()안의 람다식 또는 함수로 인해 Predicate 가 true 인 값만 반환
  • forEach() : Consumer 변수로 받아 입력값을 하나씩 println으로 출력
  • min() : max등도 똑같이 통계관련 메서드로 stream에서 최종적으로 comparator를 매개변수로 받아서 Optional<T>로 반환
    • 단, 기본형 스트림에서 받을경우 OptionalInt처럼 특수한 타입으로 반환
    • getAsInt() : OtpioanlInt 처럼 받은 타입의 자료를 다시 int로 바꾸는 메서드

4주차 PLAN

  • 팀 과제 마무리
  • Stream 관련 복습 ( 팀 과제 2차 회의가 진행이 안되었으므로 구체적인 내용 보류)
    • 실제로 활용을 해보면서 많이 쓰이고, 어떻게 사용해야하는지 감을 잡았기 때문
    • 복습 내용 
      • Stream 중간연산 최종연산
      • Optionl
      • java.util.functional 함수형 인터페이스

개인과제 + 팀 과제 + 보충 수업까지 겹쳐있는 주여서 정신이 없었지만,

하나하나 차근히 해결하려고 많이 했다.

 

다음주도 열심히 할 수 있도록!