import com.google.common.base.Function;
import com.google.common.base.Predicate;
import com.google.common.collect.Lists;
import com.google.common.collect.Streams;
import java.util.List;
import java.util.stream.Collectors;
public class GuavaFunctionalProgrammingExample {
public static void main(String[] args) {
List<String> words = Lists.newArrayList("apple", "banana", "cat", "dog", "elephant");
List<String> result = Streams.stream(words)
.filter(new Predicate<String>() {
@Override
public boolean apply(String input) {
return input.length() > 3;
}
})
.map(new Function<String, String>() {
@Override
public String apply(String input) {
return input.toUpperCase();
}
})
.collect(Collectors.toList());
System.out.println(result);
}
}