TIL)23.07.04(Java)

주민·2023년 7월 4일
0

TIL

목록 보기
32/84

오늘 들은 강의에서 잘 몰랐던 java에 대한 내용을 들어서 해당 내용을 정리했다.

모던 자바

1.8 버전 이후의 자바를 모던 자바라 부른다

모던 자바의 어떤 변경점이 있었나?

※ 면접 단골 질문

람다, 스트림, Optional

스트림(stream)

stream 뜻 => 개울, 줄을 지어 이어지다

  • List나 컬렉션의 데이터를 스트림으로 가져와 거르거나 변경하고 Collection이라는 주머니에 담는다.
  • 스트림은 원본의 데이터를 변경하지 않음
  • 힌 번 사용한 스트림은 어디에도 남지 않음

가공

  • filter : 배열에 있는 데이터 중에 조건에 맞지 않는 데이터를 뺴고 나머지만 내림
  • Map : 데이터를 변경하는 경우
  • forEach : 반복문 (ex.for)

사용 방법

* List를 stream으로 사용(스트림 내에 데이터를 word라 함)
exList.stream()

* filter(=> car의 회사명이 Benz인 경우만 내림)
.filter((Car car) -> car.getCompany().equals("Benz"))

* map(=> 문자를 대문자로 바꿔줌)
.map(name -> name.toUpperCase()).toList();

* forEach(=> exList 안에 있는 내용을 출력)
.forEach(System.out::println);

람다

  • 이름이 없는 함수를 뜻함
  • 보통 다시 쓸 필요가 없고 간단하게 한 번 쓰는 함수에 사용
  • 람다는 보통 스트림에서 사용
  • 문법 예시
    ex.(파라미터 값, ...) -> { 함수 몸체 }
* 두개의 내용은 동일함
1) 
public int toLambdaMethod(int x, int y) {
	return x + y;
}

2) (x, y) -> x + y


1)
public int toLambdaMethod2() {
	return 100;
}

2) () -> 100

optional

optional 뜻 => 선택적인

  • optional은 Null이 있더라도 오류가 발생해주지 않게 한다.(Null Pointer Exception 오류)
  • 값이 무조건 있어야 하는 경우에는 사용하지 않고 값이 있을수도 없을 수도 있는 것들을 표현할 때 사용함
* 값이 Null
Optional<integer> b = Optional.empty();

* 3
Optional<integer> b = Optional.of(3);

0개의 댓글

관련 채용 정보