diff --git a/core-java/src/test/java/org/baeldung/java/sorting/JavaSortingUnitTest.java b/core-java/src/test/java/org/baeldung/java/sorting/JavaSortingUnitTest.java index d0bf5a4d0f..277e037615 100644 --- a/core-java/src/test/java/org/baeldung/java/sorting/JavaSortingUnitTest.java +++ b/core-java/src/test/java/org/baeldung/java/sorting/JavaSortingUnitTest.java @@ -1,34 +1,20 @@ package org.baeldung.java.sorting; -import static org.junit.Assert.assertTrue; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.Comparator; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - +import com.google.common.primitives.Ints; import org.apache.commons.lang3.ArrayUtils; import org.junit.Before; import org.junit.Test; -import com.google.common.primitives.Ints; +import java.util.*; +import java.util.Map.Entry; + +import static org.junit.Assert.assertTrue; public class JavaSortingUnitTest { private int[] toSort; private int[] sortedInts; private int[] sortedRangeInts; - // private Integer [] integers; - // private Integer [] sortedIntegers; - // private List integersList; - // private List sortedIntegersList; private Employee[] employees; private Employee[] employeesSorted; private Employee[] employeesSortedByAge; @@ -41,19 +27,11 @@ public class JavaSortingUnitTest { sortedInts = new int[] { 1, 5, 7, 66, 88, 89, 123, 200, 255 }; sortedRangeInts = new int[] { 5, 1, 89, 7, 88, 200, 255, 123, 66 }; - // integers = new Integer[] - // { 5, 1, 89, 255, 7, 88, 200, 123, 66 }; - // sortedIntegers = new Integer[] - // {1, 5, 7, 66, 88, 89, 123, 200, 255}; - // - // integersList = Arrays.asList(new Integer[] { 5, 1, 89, 255, 7, 88, 200, 123, 66 }); - // sortedIntegersList = Arrays.asList(new Integer[] {1, 5, 7, 66, 88, 89, 123, 200, 255}); - employees = new Employee[] { new Employee("John", 23, 5000), new Employee("Steve", 26, 6000), new Employee("Frank", 33, 7000), new Employee("Earl", 43, 10000), new Employee("Jessica", 23, 4000), new Employee("Pearl", 33, 6000) }; employeesSorted = new Employee[] { new Employee("Earl", 43, 10000), new Employee("Frank", 33, 70000), new Employee("Jessica", 23, 4000), new Employee("John", 23, 5000), new Employee("Pearl", 33, 4000), new Employee("Steve", 26, 6000) }; employeesSortedByAge = new Employee[] { new Employee("John", 23, 5000), new Employee("Jessica", 23, 4000), new Employee("Steve", 26, 6000), new Employee("Frank", 33, 70000), new Employee("Pearl", 33, 4000), new Employee("Earl", 43, 10000) }; - HashMap map = new HashMap<>(); + map = new HashMap<>(); map.put(55, "John"); map.put(22, "Apple"); map.put(66, "Earl"); @@ -73,12 +51,7 @@ public class JavaSortingUnitTest { @Test public void givenIntegerArray_whenUsingSort_thenSortedArray() { Integer[] integers = ArrayUtils.toObject(toSort); - Arrays.sort(integers, new Comparator() { - @Override - public int compare(Integer a, Integer b) { - return a - b; - } - }); + Arrays.sort(integers, Comparator.comparingInt(a -> a)); assertTrue(Arrays.equals(integers, ArrayUtils.toObject(sortedInts))); } @@ -86,9 +59,7 @@ public class JavaSortingUnitTest { @Test public void givenArray_whenUsingSortWithLambdas_thenSortedArray() { Integer[] integersToSort = ArrayUtils.toObject(toSort); - Arrays.sort(integersToSort, (a, b) -> { - return a - b; - }); + Arrays.sort(integersToSort, Comparator.comparingInt(a -> a)); assertTrue(Arrays.equals(integersToSort, ArrayUtils.toObject(sortedInts))); } @@ -136,12 +107,7 @@ public class JavaSortingUnitTest { Integer[] sortedKeys = new Integer[] { 6, 12, 22, 55, 66, 77 }; List> entries = new ArrayList<>(map.entrySet()); - Collections.sort(entries, new Comparator>() { - @Override - public int compare(Entry o1, Entry o2) { - return o1.getKey().compareTo(o2.getKey()); - } - }); + entries.sort(Comparator.comparing(Entry::getKey)); HashMap sortedMap = new LinkedHashMap<>(); for (Map.Entry entry : entries) { sortedMap.put(entry.getKey(), entry.getValue()); @@ -155,12 +121,7 @@ public class JavaSortingUnitTest { String[] sortedValues = new String[] { "Apple", "Earl", "George", "John", "Pearl", "Rocky" }; List> entries = new ArrayList<>(map.entrySet()); - Collections.sort(entries, new Comparator>() { - @Override - public int compare(Entry o1, Entry o2) { - return o1.getValue().compareTo(o2.getValue()); - } - }); + entries.sort(Comparator.comparing(Entry::getValue)); HashMap sortedMap = new LinkedHashMap<>(); for (Map.Entry entry : entries) { sortedMap.put(entry.getKey(), entry.getValue()); @@ -172,12 +133,10 @@ public class JavaSortingUnitTest { @Test public void givenSet_whenUsingSort_thenSortedSet() { HashSet integersSet = new LinkedHashSet<>(Ints.asList(toSort)); - HashSet descSortedIntegersSet = new LinkedHashSet<>(Arrays.asList(new Integer[] { 255, 200, 123, 89, 88, 66, 7, 5, 1 })); + HashSet descSortedIntegersSet = new LinkedHashSet<>(Arrays.asList(255, 200, 123, 89, 88, 66, 7, 5, 1)); - ArrayList list = new ArrayList(integersSet); - Collections.sort(list, (i1, i2) -> { - return i2 - i1; - }); + ArrayList list = new ArrayList<>(integersSet); + list.sort((i1, i2) -> i2 - i1); integersSet = new LinkedHashSet<>(list); assertTrue(Arrays.equals(integersSet.toArray(), descSortedIntegersSet.toArray()));