diff --git a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java index ca32e28..e75758b 100644 --- a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java +++ b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java @@ -1,7 +1,74 @@ package com.zipcodewilmington.arrayutility; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + /** * Created by leon on 3/6/18. */ -public class ArrayUtility { +public class ArrayUtility { + E[] inputArray; + + public ArrayUtility(E[] inputArray){ + this.inputArray=inputArray; + } + + public Integer getNumberOfOccurrences(E valueToEvaluate){ + int count =0; + for (E element:inputArray + ) { + if(element==valueToEvaluate) { + count++; + } + } + return count; + } + +public E[] removeValue(E valueToRemove) { + int numberOfOccurrence = getNumberOfOccurrences(valueToRemove); + E[] newArray = Arrays.copyOf(inputArray, inputArray.length - numberOfOccurrence); + int j = 0; + for (int i = 0; i < inputArray.length; i++) { + if (inputArray[i] != valueToRemove) { + newArray[j] = inputArray[i]; + j++; + } + + } + return newArray; +} + +public Integer countDuplicatesInMerge(E[] arrayToMerge,E valueToEvaluate){ +int count=0; +int count1=0; +for(E element:arrayToMerge){ + if(element ==valueToEvaluate){ + count+=1; + } +} +for(E elements:inputArray){ + if(elements==valueToEvaluate){ + count1+=1; + } +} +return count+count1; +} + +public E getMostCommonFromMerge(E[] arrayToMerge){ + List input= new ArrayList(Arrays.asList(inputArray)); + // List merge= new ArrayList(Arrays.asList(arrayToMerge)); + input.addAll(Arrays.asList(arrayToMerge)); + E mostCommon=null; + int count=0; + for (E element:input + ) { + if(getNumberOfOccurrences(element)>count){ + mostCommon=element; + count=getNumberOfOccurrences(element); + } + } + return mostCommon; + } + } diff --git a/src/test/java/com/zipcodewilmington/arrayutility/RemoveValueTest.java b/src/test/java/com/zipcodewilmington/arrayutility/RemoveValueTest.java index d464896..446b71c 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.UnitTestingUtils; import org.junit.Test; /**