List<Integer> numbers = Arrays.asList(1, 2, 3, 4, 5);
List<Integer> doubledNumbers = _.map(numbers, x -> x * 2);
List<Integer> oddNumbers = _.filter(numbers, x -> x % 2 != 0);
int sum = _.reduce(numbers, (x, y) -> x + y);
List<Person> people = Arrays.asList(
new Person("Alice", 25),
new Person("Bob", 30),
new Person("Charlie", 20)
);
Map<Integer, List<Person>> groupedPeople = _.groupBy(people, Person::getAge);
List<Person> sortedPeople = _.sortBy(people, Person::getAge);
List<Integer> nestedNumbers = Arrays.asList(Arrays.asList(1, 2), Arrays.asList(3, 4));
List<Integer> flattenedNumbers = _.flatten(nestedNumbers);
Function<Integer, Integer> addOne = x -> x + 1;
Function<Integer, Integer> multiplyByTwo = x -> x * 2;
Function<Integer, Integer> addOneAndMultiplyByTwo = _.compose(addOne, multiplyByTwo);
int result = addOneAndMultiplyByTwo.apply(3); // 7
<dependency>
<groupId>com.github.javafaker</groupId>
<artifactId>underscore</artifactId>
<version>1.8.3</version>
</dependency>