lambda 7

람다 표현식으로 Map 값 처리 (Handling Map Values with Lambda Expressions)

원문 : https://dev.java/learn/api/collections-framework/maps-and-lambdas/ Handling Map Values with Lambda Expressions - Dev.java Handling the Values Stored in a Map. dev.java Map 콘텐츠 소비 Map 인터페이스에는 Iterable 인터페이스의 forEach() 메서드와 동일한 방식으로 작동하는 forEach() 메서드가 있습니다. 차이점은 이 forEach() 메소드가 단순한 Consumer 대신 BiConsumer를 인수로 취한다는 것입니다. 간단한 Map를 만들고 그 내용을 인쇄해 보겠습니다. Map map = new HashMap(); map.put(1, "one"..

IT개발 2023.09.15

Comparator 작성 및 결합 (Writing and Combining Comparators)

원문 : https://dev.java/learn/lambdas/writing-comparators/ Writing and Combining Comparators - Dev.java Creating and Combining Comparators Using Lambda Expressions. dev.java 람다 표현식으로 Comparator 구현 Functional Interface의 정의 덕분에 JDK 2에 도입된 기존의 Comparator 인터페이스가 Functional Interface가 되었습니다. 따라서 Comparator 구현은 람다 식을 사용하여 수행할 수 있습니다. Comparator 인터페이스의 유일한 추상 메서드는 다음과 같습니다. @FunctionalInterface public in..

IT개발 2023.09.13

람다 표현식 결합 (Combining Lambda Expressions)

원문 : https://dev.java/learn/lambdas/combining-chaining-composing/ Combining Lambda Expressions - Dev.java Using Default and Static Methods to Combine and Create Lambdas. dev.java java.util.function 패키지의 Functional Interface에 Default Method가 있다는 것을 알아차렸을 것입니다. 이러한 메서드는 람다 식의 조합 및 연결을 허용하기 위해 추가되었습니다. 왜 그런 일을 하겠습니까? 더 간단하고 읽기 쉬운 코드를 작성하는 데 도움이 됩니다. Default Method를 사용하여 Predicate 연결 null이 아니고, 비어 있..

IT개발 2023.09.13

메서드 참조로 람다 표현식 작성 (Writing Lambda Expressions as Method References)

원문 : https://dev.java/learn/lambdas/method-references/ Writing Lambda Expressions as Method References - Dev.java Understanding Method References. dev.java 람다 식이 실제로는 Functional Interface의 유일한 추상 메서드인 메서드의 구현임을 확인했습니다. 때때로 사람들은 이러한 람다 표현식을 "anonymous methods"라고 부는데, 그 이유가 이름이 없고, 필드나 변수에 저장되고, 메서드나 변수에 인수로 전달할 수 있고, 생성자와 메서드에서 반환 될 수 있기 때문입니다. 때로는 다른 곳에 정의된 특정 메서드를 호출하는 람다 식을 작성하는 경우도 있습니다. 그리고 ..

IT개발 2023.09.13

람다 표현식 사용 (Using Lambdas Expressions in Your Application) - part 2/2

원문 : https://dev.java/learn/lambdas/functional-interfaces/ Predicate를 사용하여 개체 테스트 Predicate 구현 및 사용 세 번째 인터페이스는 Predicate 인터페이스입니다. Predicate는 개체를 테스트하는 데 사용됩니다. 나중에 보게 될 주제인 Stream API에서 스트림을 필터링하는 데 사용됩니다. 추상 메서드는 개체를 가져와 부울 값을 반환합니다. 이 인터페이스는 Consumer보다 조금 더 복잡합니다. 여기에는 기본 메서드와 정적 메서드가 정의되어 있으며 이에 대해서는 나중에 살펴보겠습니다. abstract method에 집중해 보겠습니다. @FunctionalInterface public interface Predicate { ..

IT개발 2023.09.12

람다 표현식 사용 (Using Lambdas Expressions in Your Application) - part 1/2

https://dev.java/learn/lambdas/functional-interfaces/ 번역하여 제공 Java SE 8에 람다 표현식이 도입되면서 JDK API가 대대적으로 변경되었습니다. Generic 도입 후 JDK 5보다 lamdbas 도입 후 JDK 8에서 더 많은 클래스가 업데이트되었습니다. Functional interface의 매우 간단한 정의 덕분에 기존의 많은 인터페이스를 수정하지 않고도 기능적으로 사용할 수 있게 되었습니다. 기존 코드도 마찬가지입니다. Java SE 8 이전에 작성된 애플리케이션에 인터페이스가 있는 경우 해당 인터페이스를 건드리지 않고도 작동할 수 있으므로 람다를 사용하여 구현할 수 있습니다. java.util.function 패키지 발견 JDK 8에는 애플리..

IT개발 2023.09.12

첫 번째 람다 표현식 작성 (Writing Your First Lambda Expression)

https://dev.java/learn/lambdas/first-lambdas/ 번역하여 포스팀합니다. 2014년 Java SE 8에서는 람다 표현식 개념이 도입되었습니다. Java SE 8이 출시되기 전을 기억하신다면 아마도 Anonymous class 개념을 기억하실 것입니다. 그리고 람다 표현식이 일부 정확한 경우 Anonymous class의 인스턴스를 작성하는 또 다른 간단한 방법이라는 것을 들어보셨을 것입니다. 그 시절을 기억하지 못한다면 Anonymous class에 대해 듣거나 읽어본 적이 있을 것이며 아마도 이 모호한 구문이 두려울 것입니다. 좋은 소식은 람다 식을 작성하는 방법을 이해하기 위해 Anonymous class을 거칠 필요가 없다는 것입니다. 또한 많은 경우 Java 언어에..

IT개발 2023.09.12