Я хочу фильтровать, а затем сортировать, а затем ограничивать немодифицируемый список в Java и Guava. Есть ли разумный способ сделать это более эффективным, чем ниже?фильтровать, сортировать и ограничивать немодифицируемый список в Java
public static <T> List<T> execute(final List<T> list, final Predicate<? super T> filter, final Comparator<? super T> sort, final Integer limit) {
final List<T> newList = Lists.newArrayList(Iterables.filter(list, filter));
Collections.sort(newList, sort);
if (limit > newList.size()) {
return newList;
}
return newList.subList(0, limit);
}
Спасибо!
Да ... есть Java 8! Вы используете его или нет? – Dici
Нет, я бы хотел, но я использую JDK v5. Но, пожалуйста, не стесняйтесь отвечать на вопрос JDK v8 ради полноты! –
Что такое списки и классы Iterables? – Dici