Today I Learned
(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 함수형 인터페이스
개인과제 + 팀 과제 + 보충 수업까지 겹쳐있는 주여서 정신이 없었지만,
하나하나 차근히 해결하려고 많이 했다.
다음주도 열심히 할 수 있도록!
'Today I Learned' 카테고리의 다른 글
(24.05.08)[4주차] java.util.regex 패키지 정규식 확용 (0) | 2024.05.08 |
---|---|
(24.05.07)[4주차] 오버플로우 처리, Collections 클래스의 sort() 와 Comparator (0) | 2024.05.07 |
(24.05.03)[3주차] 0/0 NaN , Stream -> List 변환 (0) | 2024.05.03 |
(24.05.02)[3주차] Array의 스트림과 Optional을 활용 & 조건절과 예외 (0) | 2024.05.02 |
(24.05.01)[3주차] CODE KATA와 과제에서 스트림과 람다식(메서드참조)정리 (1) | 2024.05.01 |