OneCompiler

test

121

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Optional;

public class Main {
public static void main(String[] args) {
// methodReference();
optional();
}

private static void methodReference() {
    List<Person> people = Arrays.asList(
            new Person("Alice"),
            new Person("Bob"),
            new Person("Charlie")
    );

   // Method reference to an instance method
    people.forEach(new Person("test")::greet);
}

private static void optional() {
    int[] numbers = { 2, 4, 6, 8, 10 };
    Optional<List<Integer>> result = findFirstEvenNumber(numbers);

    result.ifPresentOrElse(
            num -> System.out.println("First even number found: " + num.stream().findFirst()),
            () -> System.out.println("No even number found.")
    );
}

public static Optional<List<Integer>> findFirstEvenNumber(int[] numbers) {
    List<Integer> toRet = new ArrayList<>();
    for (int num : numbers) {
        if (num % 2 == 0) {
            toRet.add(num);
        }
    }
    return toRet.isEmpty() ? Optional.empty() : Optional.of(toRet);
}

}

class Person {
private String name;

public Person(String name) {
    this.name = name;
}

public void greet() {
    System.out.println("Hello, " + name);
}

public void greet(Person person) {
}

}