From de04cfc503dde8a825bd6b64571e055f873e2b2c Mon Sep 17 00:00:00 2001 From: Keerthana Srinivasan Date: Tue, 23 Nov 2021 14:47:05 -0500 Subject: [PATCH] Finished Generic Array --- .../arrayutility/ArrayUtility.java | 68 ++++++++++++++++++- .../arrayutility/RemoveValueTest.java | 2 +- 2 files changed, 68 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..55aaf6f 100644 --- a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java +++ b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java @@ -1,7 +1,73 @@ package com.zipcodewilmington.arrayutility; +import java.lang.reflect.Array; +import java.util.Arrays; + /** * Created by leon on 3/6/18. */ -public class ArrayUtility { +public class ArrayUtility{ + E[] inputArray; + public ArrayUtility(E[] inputArray){ + this.inputArray = inputArray; + } + + public Integer countDuplicatesInMerge(E[] arrayToMerge, E valueToEvaluate ){ + E[] newArray = mergeArrays(arrayToMerge); + return countDuplicates(valueToEvaluate,newArray); + + + } + + private Integer countDuplicates(E valueToEvaluate,E[] newArray){ + Integer counter = 0; + for(E element : newArray){ + if(element.equals(valueToEvaluate)){ + counter++; + } + } + return counter; + } + + public E getMostCommonFromMerge(E[] arrayToMerge){ + Integer max = 0; + E value = null; + E[] newArray = mergeArrays(arrayToMerge); + for(E element : newArray){ + Integer count = countDuplicates(element,inputArray); + if(count>max){ + max = count; + value = element; + } + } + return value; + + } + + public Integer getNumberOfOccurrences(E valueToEvaluate){ + return countDuplicates(valueToEvaluate,this.inputArray); + + + } + + public E[] removeValue(E valueToRemove) { + Integer countRemove = getNumberOfOccurrences(valueToRemove); + Integer counter = 0; + E[] newArray = Arrays.copyOf(this.inputArray,this.inputArray.length-countRemove); + for(E element : this.inputArray){ + if(!element.equals(valueToRemove)){ + newArray[counter++]=element; + } + } + return newArray; + + } + + private E[] mergeArrays(E[] arrayToMerge){ + E[] newArray = Arrays.copyOf(this.inputArray,this.inputArray.length+arrayToMerge.length); + for(int i = 0; i< arrayToMerge.length;i++){ + newArray[i+ this.inputArray.length] = arrayToMerge[i]; + } + return newArray; + } } 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; /**