오늘의 키워드
- 람다
- 스트림
오늘의 내용
- 람다
- 어딘가 구현하지 않고 그냥 간단하게 구현해서 넘길 때 사용된다
- 함수값으로 평가되며 한 번만 사용된다
- 람다 함수 기본 문법
// 기본적으로 문법은 다음과 같습니다.
(파라미터 값, ...) -> { 함수 몸체 }
// 아래의 함수 두개는 같은 함수입니다.
// 이름 반환타입, return문 여부에 따라 {}까지도 생략이 가능합니다.
public int toLambdaMethod(int x, int y) {
return x + y;
}
(x, y) -> x + y
// 이런 함수도 가능하겠죠?
public int toLambdaMethod2() {
return 100;
}
() -> 100
// 모든 유형의 함수에 가능합니다.
public void toLambdaMethod3() {
System.out.println("Hello World");
}
() -> System.out.println("Hello World")
- 스트림
- 자료구조의 흐름을 객체로 제공해 주고, 그 흐름동안 사용할 수 있는 메서드들은 api로 제공해 준다
- 원본 데이터를 변경하지 않는다
- 일회용이다
- 스트림을 사용하는 방법
- 스트림을 받아오기 (.stream())
- carsWantToPark.stream()
- 스트림 가공하기
- .filter((Car car) -> car.getCompany().equals("Benz"))
- 스트림 결과 만들기
- .toList();
- 대표 API : map(), forEach(), filter()
- Optional
- Oprional<T>클래스를 사용해 Null Pointer Exception을 방지한다
- Oprional<T>는 null이 올 수 있는 값을 감싸는 Wrapper 클래스이다
- Optional이 비어 있더라도 참조해도 Null Pointer Exception이 발생하지 않는다
오늘의 회고
- 강의 내용은 완강을 했는데 사실 5주 차 내용은 아직 내 Java실력이 부족해서인지 내용이해가 완전히 되지 않았다
- 보충반 수업이 시작됐는데 다행히 튜터님이 모르는 내용을 잘 설명해 주셔서 이해가 잘됐다
- 팀프로젝트 일정 맞추려면 주말에도 붙잡고 있어야 될 거 같은데 다행히 월요일은 쉬는 날이다
'TIL' 카테고리의 다른 글
내일배움캠프 4주차 Java 연습1 (0) | 2024.05.08 |
---|---|
내일배움캠프 4주차 객체지향 (0) | 2024.05.07 |
내일배움캠프 3주차 쓰레드 이어서 (2) | 2024.05.02 |
내일배움캠프 3주차 프로세스와 쓰레드 (3) | 2024.05.01 |
내일배움캠프 3주차 개인프로젝트 (0) | 2024.05.01 |