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; /**