В нашем проекте мы используем прокси-сервера на основе базы данных API (Tinkerpop Frames), поэтому у нас есть много петель, как:Как получить универсальный тип Iterble с Iterable другого типа с конвертером? (Java 7)
List<Link> links = new LinkedList<>();
for (LinkModel model : obj.getLinks())
{
Link l = new Link(model.getLink(), model.getDescription());
links.add(l);
}
Я хотел бы избавиться от них по двум причинам:
- Чтобы удалить шаблонный код
- Для больших списков, могут возникнуть проблемы с памятью.
Есть ли хороший способ получить Iterable
, который берет с другого и преобразует с использованием данного метода? То, что я хотел бы сделать, это:
Iterable<Link> links_ = new IterableConverter<LinkModel, Link>(obj.getLinks()){
public Link from(LinkModel m){ return new Link(m.getLink(), m.getDescription()); }
};
Я предполагаю, что есть что-то подобное в Java 8. Мне это нужно для Java 7.
[гуавы в 'Iterables.transform()'] (http://docs.guava-libraries.googlecode.com/git/javadoc/com/google/common/collect/ Iterables.html # преобразование (java.lang.Iterable,% 20com.google.common.base.Function))? –