Stream거의 모든 자바 애플리케이션은 컬렉션을 만들고 활용한다. 하지만 컬렉션으로 모든 문제가 해결되는 것은 아니다. 예를 들어 리스트에서 고가의 트랜잭션(거래)만 필터링한 다음에 통화로 결과를 그룹화해야 한다고 가정하자. 다음 코드처럼 많은 기본 코드를 구현해야한다.Map transactionsByCurrencies = new HashMap(); for(Transaction transaction : transactions){ if(transaction.getPrice() > 1000) { Currency currency = transaction.getCurrency(); List transactionsForCurrency = transactionsByCurrencies.get(currency); i..
자바는 1996년 자바 개발 키트(JDK 1.0)가 발표된 이후로 많은 사람들이 적극적으로 활용했다. 그래서 java7(2011)까지 많은 변화가 생겼고 가장 큰 변혁이 있었다는 java8(2014)이 탄생하였다. java9 에서도 중요한 변화가 있었지만 java8 만큼 획기적이거나 생산성이 바뀌는 것은 아니었다. java10 에서는 형 추론과 관련해 약간의 변화만 일어났다. 이런 크고 작은 변화 덕분에 프로그램을 더 쉽게 구현할 수 있게 되었다. 예를들어 다음은 사과 목록을 무게순으로 정렬하는 고전적 코드다. Collections.sort(inventory, new Comparator() { public int compare(Apple a1, Apple a2) { return a1.getWeight()..