test
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) {
}
}