더북(TheBook)

연습문제

 

01 Arrays.sort 메서드에서 비교자 코드는 sort 호출과 같은 스레드에서 호출되는가, 다른 스레드에서 호출되는가?

02 java.io.File 클래스의 listFiles(FileFilter)isDirectory 메서드를 이용해 주어진 디렉터리의 모든 서브디렉터리를 리턴하는 메서드를 작성하라. FileFilter 객체 대신 람다 표현식을 사용하라. 메서드 표현식을 이용해 같은 작업을 반복하라.

03 java.io.File 클래스의 list(FilenameFilter) 메서드를 이용해 주어진 디렉터리에서 주어진 확장자를 지닌 모든 파일을 리턴하는 메서드를 작성하라. FilenameFilter가 아닌 람다 표현식을 사용하라. 이 람다 표현식이 자신을 감싸는 유효 범위에 있는 어느 변수를 캡처하는가?

04 File 객체 배열이 주어졌을 때, 디렉터리가 파일보다 앞에 위치하고 각 그룹 안에서 요소들이 경로 이름에 따라 정렬되도록 정렬하라. Comparator가 아닌 람다 표현식을 사용하라.

05 다수의 ActionListener, Runnable 등을 포함하는 프로젝트 중 하나에서 파일을 불러와서 이러한 인터페이스를 람다 표현식으로 교체하라. 이 교체 작업으로 몇 행을 줄였는가? 코드가 더 읽기 쉬워졌는가? 메서드 레퍼런스를 사용할 수 있었는가?

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.