분류 전체보기 (1605) 썸네일형 리스트형 메서드 참조, 람다식을 더욱 간략히 람다식이 하나의 메서드만을 호출하는 경우 메서드 참조라는 방법으로 람다식을 간략히 할 수 있다. https://standout.tistory.com/622 람다함수란? 람다 함수는 함수를 간결하게 표현하는 방법 // 일반 함수 예시 public int add(int a, int b) { return a + b; } // 람다 함수 예시 (IntBinaryOperator) (a, b) -> a + b; standout.tistory.com 메서드 참조에는 다음과 같은 유형이 있다 1. 정적 메서드 참조: `클래스명::메서드명` 2. 인스턴스 메서드 참조: `객체명::메서드명` 3. 생성자 참조: `클래스명::new` 쉬운 예시로 이해해보자. 람다식 사용 import java.util.function.Fun.. Function의 합성 andThen compose identity 과 Predicate의 조건결합 and or negate isEqual Function의 합성 (Function Composition) Function의 합성은 두 개 이상의 함수를 연결하여 새로운 함수를 생성하는 과정 기존의 함수를 조합하여 새로운 함수를 만든다. f(x)와 g(x) -> f(g(x)) andThen 두 함수를 연결하는 역할 번째 함수를 적용하고 그 결과를 두 번째 함수의 입력으로 전달 import java.util.function.Function; public class Main { public static void main(String[] args) { // 두 함수를 정의 Function multiplyBy2 = x -> x * 2; Function add3 = x -> x + 3; // 두 함수를 연결하여 새로운 함수 생성 Function compo.. java.util.function패키지: IntUnaryOperator DoubleToIntFunction ToIntFunction<T> IntFunction<R> ObjIntConsumer<T> 기본형을 사용하는 함수형인터페이스 앞서 알아본 함수형인터페이스는 매개변수와 반환값이 모두 지네릭 타입이었다. 기본형타입을 사용하게 될떄도 Wrapper 클래스를 사용하게되는데, 이 비효율적인 처리를 기본형을 사용하는 함수형 인터페이스로 해결할 수 있다. import java.util.function.Function; public class Main { public static void main(String[] args) { Function squareFunction = num -> { Integer result = num * num; // Wrapper 클래스 사용 return result; }; int number = 5; Integer squared = squareFunction.apply(numbe.. java.util.function패키지: removeIf(Predicate<E> filter) replaceAll(UnaryOperator<E> operator) forEach(Consumer<? super T> action) compute(K key, BiFunction<K, V, V> f) 프레임워크를 더 유연하고 사용하기 쉽게, 새로운 기능을 적용할 수 있도록 하기위해 컬렉션 프레임워크에 다수의 디폴트 메서드가 추가되었다. 아래는 함수형 인터페이스를 사용하는 디폴트 메서드이다. Collection removeIf(Predicate filter) 지정된 조건을 만족하는 요소를 컬렉션에서 제거 import java.util.ArrayList; import java.util.Collection; public class Main { public static void main(String[] args) { Collection numbers = new ArrayList(); numbers.add(1); numbers.add(2); numbers.add(3); // 짝수를 제거하는 예시 numbers.. java.util.function패키지: UnaryOperator<T> BinaryOperator<T> 매개변수타입과 반환타입이 모두 일치하는 함수형인터페이스로 UnaryOperator와 BinaryOperator가 있다. UnaryOperator `UnaryOperator` 인터페이스를 사용. `apply(T t)` 메서드를 구현하여 하나의 입력값을 받아서 동일한 타입의 결과값을 반환 import java.util.function.UnaryOperator; public class Main { public static void main(String[] args) { // UnaryOperator를 이용하여 문자열을 대문자로 변환하는 예시 UnaryOperator toUpperCase = str -> str.toUpperCase(); // UnaryOperator에 문자열을 전달하여 변환된 결과를 받음 St.. java.util.function패키지: BiConsumer<T, U> BiPredicate<T, U> BiFunction<T, U, R> 매개변수가 두개인 함수형 인터페이스는 이름앞에 Bi란 접두사가 붙는다. 이 외 두개 이상의 매개변수를 갖는 함수형인터페이스가 필요하다면 직접 만들어 써야한다. BiConsumer `accept(T t, U u)` 메서드를 호출해 두 개의 입력값을 받고 소비 import java.util.function.BiConsumer; public class Main { public static void main(String[] args) { // BiConsumer를 이용하여 두 개의 정수를 더하여 출력하는 예시 BiConsumer adder = (a, b) -> System.out.println("Sum: " + (a + b)); // BiConsumer에 두 개의 정수를 전달하여 더한 결과를 출력 adder.a.. java.util.function패키지: java.lang.Runnable Supplier<T> Consumer<T> Function<T, R> Predicate<T> java.util.function패키지 일반적으로 자주쓰이는 형식의 메서드를 함수형 인터페이스로 정의해논 패키지. https://standout.tistory.com/1433 { for (int i = 0; i < 5; i++) { System.out.println("Hello from thread: " + Thread.currentThread().getName()); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } }; // Runnable 객체를 이용하여 새로운 스레드 생성 및 실행 Thread thread = new Thread(task); thread.start(); System.out.pri.. draw.io 로그인이 필요하지않는 아키텍처 다이어그램 생성기 앞서 가벼운 다이어그램 생성기를 경험해봤었다. https://standout.tistory.com/230 다이어그램 생성기 yuml.me yuml.me 직접 확인하면서 만들어나갈 수 있다. https://yuml.me/diagram/scruffy/class/draw Create UML diagrams online in seconds, no special tools needed. Syntax Cheat Sheet Class [Customer]->[Order] // Association [Customer]->[Order] // Aggrega standout.tistory.com draw.io 사이트로 좀더 전문적인 다이어그램을 생성 할 수 있다. 로그인이 필요하지않는 가벼운 무료다. https://www.d.. 이전 1 ··· 22 23 24 25 26 27 28 ··· 201 다음