From ce0c5a1d5f4bd9d2a77f6beefdaf52d528710736 Mon Sep 17 00:00:00 2001 From: moiseeva-oksana Date: Sun, 2 Apr 2017 21:21:09 +0300 Subject: [PATCH 1/3] Exercise 1 done --- .../part1/exercise/Lambdas01Exercise.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/test/java/lambda/part1/exercise/Lambdas01Exercise.java b/src/test/java/lambda/part1/exercise/Lambdas01Exercise.java index 14cfc0d..719d9c4 100644 --- a/src/test/java/lambda/part1/exercise/Lambdas01Exercise.java +++ b/src/test/java/lambda/part1/exercise/Lambdas01Exercise.java @@ -1,9 +1,14 @@ package lambda.part1.exercise; +import com.google.common.base.Optional; +import com.google.common.base.Predicate; +import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableList; import data.Person; import org.junit.jupiter.api.Test; +import java.util.Arrays; +import java.util.Comparator; import java.util.List; import static org.junit.jupiter.api.Assertions.assertArrayEquals; @@ -20,6 +25,12 @@ void sortPersonsByAge() { }; // TODO use Arrays.sort + Arrays.sort(persons, new Comparator() { + @Override + public int compare(Person o1, Person o2) { + return o2.getAge()-o1.getAge(); + } + }); assertArrayEquals(persons, new Person[]{ new Person("name 3", "lastName 3", 20), @@ -39,6 +50,14 @@ void findFirstWithAge30() { Person person = null; // TODO use FluentIterable + Optional personOptional = + FluentIterable.from(persons) + .firstMatch(new Predicate() { + public boolean apply(Person p) { + return p.getAge()==30; + } + }); + person=personOptional.get(); assertEquals(person, new Person("name 1", "lastName 2", 30)); } From 25812b75c7c625ad547cc0a9979f0b51522a678a Mon Sep 17 00:00:00 2001 From: moiseeva-oksana Date: Sun, 2 Apr 2017 21:30:52 +0300 Subject: [PATCH 2/3] Exercise 2 done --- .../java/lambda/part1/exercise/Lambdas01Exercise.java | 2 +- .../java/lambda/part1/exercise/Lambdas02Exercise.java | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/test/java/lambda/part1/exercise/Lambdas01Exercise.java b/src/test/java/lambda/part1/exercise/Lambdas01Exercise.java index 719d9c4..607bf2a 100644 --- a/src/test/java/lambda/part1/exercise/Lambdas01Exercise.java +++ b/src/test/java/lambda/part1/exercise/Lambdas01Exercise.java @@ -28,7 +28,7 @@ void sortPersonsByAge() { Arrays.sort(persons, new Comparator() { @Override public int compare(Person o1, Person o2) { - return o2.getAge()-o1.getAge(); + return o1.getAge()-o2.getAge(); } }); diff --git a/src/test/java/lambda/part1/exercise/Lambdas02Exercise.java b/src/test/java/lambda/part1/exercise/Lambdas02Exercise.java index 8f47d34..e656889 100644 --- a/src/test/java/lambda/part1/exercise/Lambdas02Exercise.java +++ b/src/test/java/lambda/part1/exercise/Lambdas02Exercise.java @@ -1,9 +1,13 @@ package lambda.part1.exercise; +import com.google.common.base.Optional; +import com.google.common.collect.FluentIterable; import com.google.common.collect.ImmutableList; import data.Person; import org.junit.jupiter.api.Test; +import java.util.Arrays; +import java.util.Comparator; import java.util.List; import static org.junit.jupiter.api.Assertions.assertArrayEquals; @@ -19,6 +23,9 @@ void sortPersonsByAge() { }; // TODO use Arrays.sort + Arrays.sort(persons, (o1, o2) -> o1.getAge()-o2.getAge()); +// Arrays.sort(persons, Comparator.comparing(p->p.getAge())); +// Arrays.sort(persons, Comparator.comparing(Person::getAge)); assertArrayEquals(persons, new Person[]{ new Person("name 3", "lastName 3", 20), @@ -38,6 +45,9 @@ void findFirstWithAge30() { Person person = null; // TODO use FluentIterable + final Optional personOptional = + FluentIterable.from(persons) + .firstMatch(p -> p.getAge()==(30)); assertEquals(person, new Person("name 1", "lastName 2", 30)); } From ba44c7aa46c85b1256431dd1aff73f28f20c6d03 Mon Sep 17 00:00:00 2001 From: moiseeva-oksana Date: Sun, 2 Apr 2017 21:36:37 +0300 Subject: [PATCH 3/3] ref --- src/test/java/lambda/part1/exercise/Lambdas01Exercise.java | 2 +- src/test/java/lambda/part1/exercise/Lambdas02Exercise.java | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/test/java/lambda/part1/exercise/Lambdas01Exercise.java b/src/test/java/lambda/part1/exercise/Lambdas01Exercise.java index 607bf2a..2b87550 100644 --- a/src/test/java/lambda/part1/exercise/Lambdas01Exercise.java +++ b/src/test/java/lambda/part1/exercise/Lambdas01Exercise.java @@ -50,7 +50,7 @@ void findFirstWithAge30() { Person person = null; // TODO use FluentIterable - Optional personOptional = + final Optional personOptional = FluentIterable.from(persons) .firstMatch(new Predicate() { public boolean apply(Person p) { diff --git a/src/test/java/lambda/part1/exercise/Lambdas02Exercise.java b/src/test/java/lambda/part1/exercise/Lambdas02Exercise.java index e656889..fcf2f64 100644 --- a/src/test/java/lambda/part1/exercise/Lambdas02Exercise.java +++ b/src/test/java/lambda/part1/exercise/Lambdas02Exercise.java @@ -47,7 +47,8 @@ void findFirstWithAge30() { // TODO use FluentIterable final Optional personOptional = FluentIterable.from(persons) - .firstMatch(p -> p.getAge()==(30)); + .firstMatch(p -> p.getAge()==30); + person = personOptional.get(); assertEquals(person, new Person("name 1", "lastName 2", 30)); }