프로그래밍/Book (11) 썸네일형 리스트형 [모던 자바 인 액션] 4장. 스트림 소개 스트림이란? 자바 8에 추가된 기능으로 멀티스레드 코드를 이용하지 않아도 간단하게 병렬로 처리하는 어플리케이션을 구현할 수 있다. 자바8 이전과 이후의 차이 java7 //자바 8 이전 - 2020년 이후 발행된 책을 연도순으로 정렬하여 책 이름을 반환 private static List getBooksNameSortedByYearAfter2020(List books) { //2020년 이후 책 List booksAfter2020 = new ArrayList(); for (Book book : books) { if (book.getYear() >= 2020) { booksAfter2020.add(book); } } //연도순 정렬 Collections.sort(booksAfter2020, new Comp.. [모던 자바 인 액션] 3장. 람다 표현식 람다를 어디에 사용할수 있을까? 함수형 인터페이스 정확히 하나의 추상메서드를 지정하는 인터페이스 함수형 인터페이스로 뭘 할수 있을까? 람다 표현식으로 함수형 인터페이스의 추상메서드 구현을 직접 전달할 수 있으므로 전체 표현식을 함수형 인터페이스의 인스턴스 취급 익명 클래스로도 같은 기능을 구현 가능하다. public class Main { public static void main(String[] args) { Runnable r1 = () -> System.out.println("Hello 1"); Runnable r2 = new Runnable() { @Override public void run() { System.out.println("Hello 2"); } }; process(r1); proce.. [모던 자바 인 액션] 2장. 동작 파라미터화 소프트웨어 엔지니어링에서 요구사항은 항상 변한다. 시시각각 변하는 요구사항을 반영하면서 엔지니어링적인 비용이 가장 최소화될 수 있으면 좋다. 새로 추가한 기능은 쉽게 구현할 수 있어야 하며 장기적인 관점에서 유지보수가 쉬워야 한다. 변화하는 요구사항에 대응하기 간단한 도서관리 애플리케이션의 예시로 원하는 책들을 찾는 프로그램을 개발한다고 가정하였다. Book 클래스는 아래와 같다. public class Book { private String name; //책이름 private String author; //저자 private Integer year; //출판 연도 private String field; //분야 public Book(String name, String author, Integer yea.. 이전 1 2 다음