From cb05a443de66e1b300e7c167b5d854414275dc99 Mon Sep 17 00:00:00 2001 From: Zach Date: Wed, 21 Jul 2021 18:05:38 -0400 Subject: [PATCH] Cannot complete all tests on remove, can only complete Object-typed test for remove. All research on the subject explains that you cannot convert create a new array of generic type --- .../arrayutility/ArrayUtility.java | 49 ++++++++++++++++++- .../arrayutility/RemoveValueTest.java | 2 +- 2 files changed, 49 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java index ca32e28..ffcf966 100644 --- a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java +++ b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java @@ -1,7 +1,54 @@ package com.zipcodewilmington.arrayutility; +import java.util.*; +import java.util.stream.Stream; + /** * Created by leon on 3/6/18. */ -public class ArrayUtility { +public class ArrayUtility { + T[] input; + public ArrayUtility(T[] inputArray){ + this.input = inputArray; + } + + public Integer countDuplicatesInMerge(T[] arrayToMerge, T valueToEvaluate) { + ArrayList aList = new ArrayList<>(Arrays.asList(input)); + ArrayList bList = new ArrayList<>(Arrays.asList(arrayToMerge)); + + aList.addAll(bList); + return Collections.frequency(aList, valueToEvaluate); + } + + public T getMostCommonFromMerge(T[] arrayToMerge) { + ArrayList aList = new ArrayList<>(Arrays.asList(input)); + ArrayList bList = new ArrayList<>(Arrays.asList(arrayToMerge)); + + aList.addAll(bList); + Integer amt = 0; + T mostcommon = null; + for(T element : aList){ + if (getNumberOfOccurrences(element) > amt) { + amt = getNumberOfOccurrences(element); + mostcommon = element; + } + } + return mostcommon; + + } + + public T[] removeValue(T valueToRemove) { + ArrayList list = new ArrayList<>(Arrays.asList(input)); + + while (list.contains(valueToRemove)){ + list.remove(valueToRemove); + } + T[] arr = (T[])list.toArray(new Object[0]); + return arr; + } + + public Integer getNumberOfOccurrences(T valueToEvaluate) { + ArrayList aList = new ArrayList<>(Arrays.asList(input)); + return Collections.frequency(aList, valueToEvaluate); + } } diff --git a/src/test/java/com/zipcodewilmington/arrayutility/RemoveValueTest.java b/src/test/java/com/zipcodewilmington/arrayutility/RemoveValueTest.java index d464896..f1ecd8a 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 org.junit.Test; /**