List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> squares = Lists.newArrayList(numbers)
.stream()
.filter(n -> n % 2 == 0)
.map(n -> n * n)
.collect(Collectors.toList());
Function<Integer, String> toStringFunction = i -> String.valueOf(i);
Map<Integer, String> numberMap = Maps.transformValues(someMap, toStringFunction);
Cache<String, ResultSet> cache = CacheBuilder.newBuilder()
.expireAfterAccess(1, TimeUnit.HOURS)
.maximumSize(100)
.build();
ResultSet result = cache.get(key, () -> expensiveDatabaseOperation());