Guava - это библиотека, предоставляющая возможности функционального программирования.
Guava на Google Code
Guava на Wikipedia
Зависимость в POM.XML файле проекта (Если используем Maven для проекта)
Объявляем объект, реализующий интерфейс List.
Фильтруем наш displayList. Создаем новый лист на основе исходного, но при этом в новый лист попадут только те элементы которые будут соответствовать условию, указанному в предикате. Например, тут в листе будут содержаться только не архивные документы.
Создаем список реализующий интерфейс List, он будет содержать объекты класса SchemaItem.
Допустим у нас есть объект класса Schema, который содержит в себе объекты SchemaItem и реализует интерфейс Iterable.
Фильтрованный лист будет создан на основе объекта реализующего интерфейс Iterable и содержащего объекты класса SchemaItem. В него попадут только те элементы, которые будут соответствовать условию в предикате.
Guava на Google Code
Guava на Wikipedia
Зависимость в POM.XML файле проекта (Если используем Maven для проекта)
<dependency> <groupId>com.google.guava</groupId> <artifactId>guava</artifactId> <version>${guavaVersion}</version> </dependency>
Фильтруем List
Для фильтрации List'a следующие классы необходимо импортировать.import com.google.common.base.Predicate; import com.google.common.collect.Collections2; import com.google.common.collect.Lists;
Объявляем объект, реализующий интерфейс List.
private List<Document> displayList;
Фильтруем наш displayList. Создаем новый лист на основе исходного, но при этом в новый лист попадут только те элементы которые будут соответствовать условию, указанному в предикате. Например, тут в листе будут содержаться только не архивные документы.
displayList = Lists.newArrayList( Collections2.filter(displayList, new Predicate<Document>() { @Override public boolean apply(Document document) { return !document.isArchived(); } }) ); setupView(displayList);
Фильтруем Iterables
Для фильтрации Iterables следующие классы необходимо импортировать.import com.google.common.base.Predicate; import com.google.common.collect.Iterables; import com.google.common.collect.Lists;
Создаем список реализующий интерфейс List, он будет содержать объекты класса SchemaItem.
private List<SchemaItem> attributeList;
Допустим у нас есть объект класса Schema, который содержит в себе объекты SchemaItem и реализует интерфейс Iterable.
public class Schema implements Iterable<SchemaItem>
Фильтрованный лист будет создан на основе объекта реализующего интерфейс Iterable и содержащего объекты класса SchemaItem. В него попадут только те элементы, которые будут соответствовать условию в предикате.
attributeList = Lists.newArrayList( Iterables.filter(result, new Predicate<SchemaItem>() { @Override public boolean apply(SchemaItem si) { return (si.getSearchable()); } )); setupView(attributeList);
Комментариев нет:
Отправить комментарий