mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-24 09:20:53 +07:00
26 lines
854 B
Java
26 lines
854 B
Java
|
|
import java.util.Collections;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.function.Function;
|
|
import java.util.stream.Collectors;
|
|
|
|
class Main {
|
|
public static <T1, T2> T2 safeGet(T1 value,
|
|
Function<? super T1, ? extends T2> extractor) {
|
|
return value == null ? null : extractor.apply(value);
|
|
}
|
|
|
|
public static class Data {
|
|
public java.util.Date date() {
|
|
return new java.util.Date();
|
|
}
|
|
}
|
|
|
|
public static void main(String[] args) {
|
|
List<Data> list = Collections.emptyList();
|
|
Map<Long, Data> map1 = list.stream().collect(Collectors.toMap(data -> data.date().getTime(), Function.identity()));
|
|
Map<Long, Data> map2 = safeGet(list,
|
|
li -> li.stream().collect(Collectors.toMap(data -> data.date().getTime(), Function.identity())));
|
|
}
|
|
} |