From abcca488fa5f72606a0550a24acd6c8cc284a9e6 Mon Sep 17 00:00:00 2001 From: Nick Date: Tue, 20 Jul 2021 23:24:08 -0400 Subject: [PATCH 1/2] ending the night --- .../arrayutility/ArrayUtility.java | 50 ++++++++++++++++++- .../CountDuplicatesInMergeTest.java | 6 +-- .../GetNumberOfOccurrencesTest.java | 6 +-- .../arrayutility/RemoveValueTest.java | 8 +-- 4 files changed, 58 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java index ca32e28..e42feb0 100644 --- a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java +++ b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java @@ -1,7 +1,53 @@ package com.zipcodewilmington.arrayutility; +import java.util.*; +import java.util.function.Consumer; +import java.util.function.Predicate; +import java.util.stream.Collectors; +import java.util.stream.Stream; + /** * Created by leon on 3/6/18. */ -public class ArrayUtility { -} +public class ArrayUtility { + T[] inputArray; + + public ArrayUtility(T[] inputArray) { + this.inputArray = inputArray; + } + + public T countDuplicatesInMerge(T[] arrayToMerge, T valueToEvaluate) { + ArrayList jawner = new ArrayList<>(Arrays.asList(inputArray)); + ArrayList merge = new ArrayList<>(Arrays.asList(arrayToMerge)); + jawner.addAll(merge); + Integer result = Collections.frequency(jawner, valueToEvaluate); + return (T) result; + } + + public T[] removeValue(T valueToRemove) { + ArrayList jawner = new ArrayList<>(Arrays.asList(inputArray)); + jawner.removeIf(T -> T.equals(valueToRemove)); + return (T[]) jawner.toArray(); + } + + public T getNumberOfOccurrences(T valueToEvaluate) { + ArrayList jawner = new ArrayList<>(Arrays.asList(inputArray)); + Integer result = Collections.frequency(jawner, valueToEvaluate); + return (T) result; + } + + public T getMostCommonFromMerge(T[] arrayToMerge) { + ArrayList jawner = new ArrayList<>(Arrays.asList(inputArray)); + ArrayList merge = new ArrayList<>(Arrays.asList(arrayToMerge)); + jawner.addAll(merge); +// Integer result = Stream.of(jawner).collect(Collectors.groupingBy(Integer::valueOf)) +// .values() +// .stream() +// .sorted((a, b) -> b.size() - a.size()) +// .collect(Collectors.toList()).get(0).get(0); + List sorted = jawner.stream() + .sorted() + .collect(Collectors.toList()); + return null; + } // Thought process here - sorted the array, use Lamda? maybe? to +} // to check for most commong object diff --git a/src/test/java/com/zipcodewilmington/arrayutility/CountDuplicatesInMergeTest.java b/src/test/java/com/zipcodewilmington/arrayutility/CountDuplicatesInMergeTest.java index 2e85559..5250e46 100644 --- a/src/test/java/com/zipcodewilmington/arrayutility/CountDuplicatesInMergeTest.java +++ b/src/test/java/com/zipcodewilmington/arrayutility/CountDuplicatesInMergeTest.java @@ -34,7 +34,7 @@ public void longTest() { ArrayUtility arrayUtility = new ArrayUtility(inputArray); // When - Integer actual = arrayUtility.countDuplicatesInMerge(arrayToMerge, valueToEvaluate); + Object actual = arrayUtility.countDuplicatesInMerge(arrayToMerge, valueToEvaluate); // Then Assert.assertEquals(expected, actual); @@ -51,7 +51,7 @@ public void stringTest() { ArrayUtility arrayUtility = new ArrayUtility(inputArray); // When - Integer actual = arrayUtility.countDuplicatesInMerge(arrayToMerge, valueToEvaluate); + Object actual = arrayUtility.countDuplicatesInMerge(arrayToMerge, valueToEvaluate); // Then Assert.assertEquals(expected, actual); @@ -68,7 +68,7 @@ public void objectTest() { ArrayUtility arrayUtility = new ArrayUtility(inputArray); // When - Integer actual = arrayUtility.countDuplicatesInMerge(arrayToMerge, valueToEvaluate); + Object actual = arrayUtility.countDuplicatesInMerge(arrayToMerge, valueToEvaluate); // Then Assert.assertEquals(expected, actual); diff --git a/src/test/java/com/zipcodewilmington/arrayutility/GetNumberOfOccurrencesTest.java b/src/test/java/com/zipcodewilmington/arrayutility/GetNumberOfOccurrencesTest.java index e9bcc4f..c5a8237 100644 --- a/src/test/java/com/zipcodewilmington/arrayutility/GetNumberOfOccurrencesTest.java +++ b/src/test/java/com/zipcodewilmington/arrayutility/GetNumberOfOccurrencesTest.java @@ -32,7 +32,7 @@ public void longTest() { ArrayUtility arrayUtility = new ArrayUtility(inputArray); // When - Integer actual = arrayUtility.getNumberOfOccurrences(valueToEvaluate); + Object actual = arrayUtility.getNumberOfOccurrences(valueToEvaluate); // Then Assert.assertEquals(expected, actual); @@ -47,7 +47,7 @@ public void stringTest() { ArrayUtility arrayUtility = new ArrayUtility(inputArray); // When - Integer actual = arrayUtility.getNumberOfOccurrences(valueToEvaluate); + Object actual = arrayUtility.getNumberOfOccurrences(valueToEvaluate); // Then Assert.assertEquals(expected, actual); @@ -62,7 +62,7 @@ public void objectTest() { ArrayUtility arrayUtility = new ArrayUtility(inputArray); // When - Integer actual = arrayUtility.getNumberOfOccurrences(valueToEvaluate); + Object actual = arrayUtility.getNumberOfOccurrences(valueToEvaluate); // Then Assert.assertEquals(expected, actual); diff --git a/src/test/java/com/zipcodewilmington/arrayutility/RemoveValueTest.java b/src/test/java/com/zipcodewilmington/arrayutility/RemoveValueTest.java index d464896..8604bfd 100644 --- a/src/test/java/com/zipcodewilmington/arrayutility/RemoveValueTest.java +++ b/src/test/java/com/zipcodewilmington/arrayutility/RemoveValueTest.java @@ -1,6 +1,6 @@ package com.zipcodewilmington.arrayutility; -import com.zipcodewilmington.UnitTestingUtils; +import com.zipcodewilmington.arrayutility.UnitTestingUtils; import org.junit.Test; /** @@ -18,7 +18,7 @@ public void integerTest() { // When - Integer[] actual = arrayUtility.removeValue(valueToRemove); + Object[] actual = arrayUtility.removeValue(valueToRemove); // Then UnitTestingUtils.assertArrayEquality(expected, actual); @@ -34,7 +34,7 @@ public void longTest() { // When - Long[] actual = arrayUtility.removeValue(valueToRemove); + Object[] actual = arrayUtility.removeValue(valueToRemove); // Then UnitTestingUtils.assertArrayEquality(expected, actual); @@ -51,7 +51,7 @@ public void stringTest() { // When - String[] actual = arrayUtility.removeValue(valueToRemove); + Object[] actual = arrayUtility.removeValue(valueToRemove); // Then UnitTestingUtils.assertArrayEquality(expected, actual); From 81df2a13ef14b217863c55a9131145aa0e43a91a Mon Sep 17 00:00:00 2001 From: Nick Date: Wed, 21 Jul 2021 10:12:28 -0400 Subject: [PATCH 2/2] Finished all tests --- .../arrayutility/ArrayUtility.java | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java index e42feb0..441e9f0 100644 --- a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java +++ b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java @@ -30,24 +30,25 @@ public T[] removeValue(T valueToRemove) { return (T[]) jawner.toArray(); } - public T getNumberOfOccurrences(T valueToEvaluate) { + public int getNumberOfOccurrences(T valueToEvaluate) { ArrayList jawner = new ArrayList<>(Arrays.asList(inputArray)); Integer result = Collections.frequency(jawner, valueToEvaluate); - return (T) result; + return result; } public T getMostCommonFromMerge(T[] arrayToMerge) { ArrayList jawner = new ArrayList<>(Arrays.asList(inputArray)); ArrayList merge = new ArrayList<>(Arrays.asList(arrayToMerge)); jawner.addAll(merge); -// Integer result = Stream.of(jawner).collect(Collectors.groupingBy(Integer::valueOf)) -// .values() -// .stream() -// .sorted((a, b) -> b.size() - a.size()) -// .collect(Collectors.toList()).get(0).get(0); - List sorted = jawner.stream() - .sorted() - .collect(Collectors.toList()); - return null; + + T mostJawn = null; + int most = Integer.MIN_VALUE; + for (T object : jawner) { + if (getNumberOfOccurrences(object) > most) { + mostJawn = object; + most = getNumberOfOccurrences(object); + } + } + return mostJawn; } // Thought process here - sorted the array, use Lamda? maybe? to } // to check for most commong object