From 914480b535b3efdc21818000b3ae149ea0db79c3 Mon Sep 17 00:00:00 2001 From: MannyMb Date: Wed, 28 Jul 2021 00:34:42 -0400 Subject: [PATCH 1/4] saving progress --- .../arrayutility/ArrayUtility.java | 24 ++++++++++++++++++- .../arrayutility/RemoveValueTest.java | 2 +- 2 files changed, 24 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..d40c051 100644 --- a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java +++ b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java @@ -3,5 +3,27 @@ /** * Created by leon on 3/6/18. */ -public class ArrayUtility { +public class ArrayUtility { + + private final SomeType[] array; + + public ArrayUtility(SomeType[] array) { + this.array = array; + } + + public Integer countDuplicatesInMerge(SomeType[] arrayToMerge, SomeType valueToEvaluate) { + return null; + } + + public SomeType getMostCommonFromMerge(SomeType[] arrayToMerge) { + return null; + } + + public Integer getNumberOfOccurrences(SomeType valueToEvaluate) { + return null; + } + + public SomeType[] removeValue(SomeType valueToRemove) { + return null; + } } 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; /** From 2f7ebf1e84270d475871549fb9dca9b3e0b89fdf Mon Sep 17 00:00:00 2001 From: MannyMb Date: Wed, 28 Jul 2021 00:53:43 -0400 Subject: [PATCH 2/4] saving progress --- .../arrayutility/ArrayUtility.java | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java index d40c051..bdff295 100644 --- a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java +++ b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java @@ -1,17 +1,20 @@ package com.zipcodewilmington.arrayutility; +import java.util.ArrayList; + /** * Created by leon on 3/6/18. */ public class ArrayUtility { - private final SomeType[] array; + private SomeType[] array; public ArrayUtility(SomeType[] array) { this.array = array; } public Integer countDuplicatesInMerge(SomeType[] arrayToMerge, SomeType valueToEvaluate) { + return null; } @@ -20,10 +23,23 @@ public SomeType getMostCommonFromMerge(SomeType[] arrayToMerge) { } public Integer getNumberOfOccurrences(SomeType valueToEvaluate) { - return null; + int tracker = 0; + for (int i = 0; i < array.length; i++) { + if(valueToEvaluate.equals(array[i])) { + tracker++; + } + } + return tracker; } public SomeType[] removeValue(SomeType valueToRemove) { - return null; + ArrayList arrayList = new ArrayList<>(); + for (Object element : array) { + if (!element.equals(valueToRemove)) { + arrayList.add((SomeType) element); + } + + } + return (SomeType[]) arrayList.toArray(); } } From af4e8addcf06c60104a4c2782abe7a8524e1b425 Mon Sep 17 00:00:00 2001 From: MannyMb Date: Wed, 28 Jul 2021 01:00:04 -0400 Subject: [PATCH 3/4] saving progress --- .../com/zipcodewilmington/arrayutility/ArrayUtility.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java index bdff295..711d44e 100644 --- a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java +++ b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java @@ -1,6 +1,8 @@ package com.zipcodewilmington.arrayutility; import java.util.ArrayList; +import java.util.Collections; +import java.util.List; /** * Created by leon on 3/6/18. @@ -14,11 +16,18 @@ public ArrayUtility(SomeType[] array) { } public Integer countDuplicatesInMerge(SomeType[] arrayToMerge, SomeType valueToEvaluate) { + List mergedArray = new ArrayUtility(); + Collections.addAll(mergedArray, array ); + Collections.addAll(mergedArray, arrayToMerge); return null; } public SomeType getMostCommonFromMerge(SomeType[] arrayToMerge) { + List mergedArray = new ArrayUtility(); + Collections.addAll(mergedArray, array ); + Collections.addAll(mergedArray, arrayToMerge); + return null; } From 2bf8a6509890084e7ce66ebad06d7d9b67e3a426 Mon Sep 17 00:00:00 2001 From: MannyMb Date: Wed, 28 Jul 2021 19:07:54 -0400 Subject: [PATCH 4/4] finished --- .../arrayutility/ArrayUtility.java | 62 ++++++++++++++----- 1 file changed, 45 insertions(+), 17 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java index 711d44e..6d1f35d 100644 --- a/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java +++ b/src/main/java/com/zipcodewilmington/arrayutility/ArrayUtility.java @@ -1,8 +1,6 @@ package com.zipcodewilmington.arrayutility; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; +import java.util.*; /** * Created by leon on 3/6/18. @@ -15,20 +13,47 @@ public ArrayUtility(SomeType[] array) { this.array = array; } - public Integer countDuplicatesInMerge(SomeType[] arrayToMerge, SomeType valueToEvaluate) { - List mergedArray = new ArrayUtility(); - Collections.addAll(mergedArray, array ); - Collections.addAll(mergedArray, arrayToMerge); + public List mergeArray(SomeType[] arrayToMerge){ + List mergedArray = new ArrayList<>(); + for (SomeType s : arrayToMerge) { + mergedArray.add(s); + } + for (SomeType s : this.array) { + mergedArray.add(s); + } + return mergedArray; + } - return null; + public Integer countDuplicatesInMerge(SomeType[] arrayToMerge, SomeType valueToEvaluate) { + List mergedArray = mergeArray(arrayToMerge); + int counter = 0; + for (SomeType something: mergedArray) { + if (something.equals(valueToEvaluate)){ + counter++; + } + } + return counter; } public SomeType getMostCommonFromMerge(SomeType[] arrayToMerge) { - List mergedArray = new ArrayUtility(); - Collections.addAll(mergedArray, array ); - Collections.addAll(mergedArray, arrayToMerge); - - return null; + List mergedArray = mergeArray(arrayToMerge); + Map myMap = new HashMap<>(); + for (SomeType s : mergedArray) { + if (myMap.containsKey(s)) { + myMap.put(s, myMap.get(s) + 1); + } else { + myMap.put(s, 1); + } + } + int mostCommon = 0; + SomeType theType = null; + for (Map.Entry a: myMap.entrySet()){ + if (a.getValue() > mostCommon){ + mostCommon = a.getValue(); + theType = a.getKey(); + } + } + return theType; } public Integer getNumberOfOccurrences(SomeType valueToEvaluate) { @@ -43,12 +68,15 @@ public Integer getNumberOfOccurrences(SomeType valueToEvaluate) { public SomeType[] removeValue(SomeType valueToRemove) { ArrayList arrayList = new ArrayList<>(); - for (Object element : array) { + for (SomeType element : array) { if (!element.equals(valueToRemove)) { - arrayList.add((SomeType) element); + arrayList.add(element); } - } - return (SomeType[]) arrayList.toArray(); + SomeType[] newArray = (SomeType[]) java.lang.reflect.Array.newInstance(array[0].getClass(),array.length); + for (int i = 0; i < arrayList.size(); i++) { + newArray[i] = arrayList.get(i); + } + return newArray; } }