Skip to content

Instantly share code, notes, and snippets.

@relax-more
Last active October 13, 2015 09:11
Show Gist options
  • Save relax-more/5df6bdcd44dd5d58caa8 to your computer and use it in GitHub Desktop.
Save relax-more/5df6bdcd44dd5d58caa8 to your computer and use it in GitHub Desktop.
How to use Stream.map()
static final Ordering<Banner> RANDOM_ORDER = Ordering.natural()
.onResultOf((Banner b) -> b.getWeight() * randomGenerator.nextDouble())
.reverse();
public List<BannerViewModel> getBanners(List<Banner> banners, final String language) {
final List<Banner> selectedList = RANDOM_ORDER.greatestOf(banners, MAX_SIZE);
return selectedList.stream().map(b ->
BannerViewModel.builder()
.id(b.getId())
.href(getHref(b, language))
.image(getImageForLanguage(b, language))
.build()
).collect(Collectors.toList());
}
static final Ordering<Banner> RANDOM_ORDER = Ordering.natural()
.onResultOf((Banner b) -> b.getWeight() * randomGenerator.nextDouble())
.reverse();
public List<BannerViewModel> getBanners(List<Banner> banners, final String language) {
final List<Banner> selectedList = RANDOM_ORDER.greatestOf(banners, MAX_SIZE);
final List<BannerViewModel> returnList = new ArrayList<>();
selectedList.forEach(b ->
returnList.add(
BannerViewModel.builder()
.id(b.getId())
.href(getHref(b, language))
.image(getImageForLanguage(b, language)).build())
);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment