[TIL] 220519

Moon·2022년 5월 19일

람다식

  • 메서드를 하나의 식으로 표현햔 것이다. 메서드의 이름과 반환값이 없어지기 때문에 익명함수라고도 한다.
  • 메서드를 변수처럼 다룰 수 있다.

스트림

데이터소스를 추상화하고 , 데이터를 다루는 데 자주 사용되는 메서드들을 정의해놓음

String[] strArr = {"aa", "bb", "cc"};
List<String> strList = Arrays.asList(strArr);

Stream<String> arrStream = strList.stream();
Stream<String> listStream = Arrays.stream(strArr);

arrStream.sorted().forEeach(System.out::println);
listStream.sorted().forEach(System.out::println);

List를 정렬할 때는 Collections.sort(), 배열을 정렬할 때는 Arrays.sort()를 사용해야 하는데 스트림을 사용하면 같은 방식으로 데이터를 다룰 수 있다.

  • map()
    스트림의 요소에 저장된 값 중에서 원하는 부분만 뽑아내거나 특정 형태로 변환할 때 사용한다.

강의듣다가 다시 찾아본 내용

✔️ asList() : 배열을 List로 반환하기

매개변수의 타입이 가변인수라서 배열 생성을 따로 하지 않고 저장할 요소만 나열해도 된다.

List list = Arrays.asList(1, 2, 3);

list.add(4); // UnsupportedOperationException 예외 발생 

asList()로 반환된 List는 크기 변경이 불가능하다. 추가나 삭제를 하려면

List list = new ArrayList(Arrays.asList(1, 2, 3));

위에서 만들어진 List는 크기 변경이 가능하다.


  • 거북이반 스터디에서는 if문과 switch문 복습과 실습을 했다. switch문에 break문 쓰는 거 깜빡하지 않기! 평균점수를 switch문 case로 받는 경우에는 (int) 로 형변환해주기!
  • 람다와 스트림 부분은 강의를 들어도 뭔가 와닿지가 않는 느낌이다. 예전에 배웠던 내용들도 다 너무 새로워서 처음 배우는 것처럼 꼼꼼히 봐야할 것 같다.
profile
매일 성장하는 개발자 되기😊

0개의 댓글