package xxx;
import java.util.List;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;
public class LinqUtil {
public static T first(List list) {
return list.get(0);
}
public static List filter(List items, Predicate super T> filterexpression) {
return items.stream().filter(filterexpression).collect(Collectors.toList());
}
public static T filterOne(List items, Predicate super T> filterexpression) {
return filter(items, filterexpression).get(0);
}
public static List map(List items, Function super T, ? extends R> mapexpression) {
return items.stream().map(mapexpression).collect(Collectors.toList());
}
public static R mapOne(List items, Function super T, ? extends R> mapexpression) {
return map(items, mapexpression).get(0);
}
}