From 2a36531daf8c671d848a5eb49a07df70257cdb9f Mon Sep 17 00:00:00 2001 From: jorge Date: Thu, 1 Apr 2021 15:27:39 -0400 Subject: [PATCH 1/2] delDupInt done --- .../looplabs/IntegerDuplicateDeleter.java | 21 +++++++++++++++++++ .../looplabs/StringDuplicateDeleter.java | 13 ++++++++++++ 2 files changed, 34 insertions(+) diff --git a/src/main/java/com/zipcodewilmington/looplabs/IntegerDuplicateDeleter.java b/src/main/java/com/zipcodewilmington/looplabs/IntegerDuplicateDeleter.java index ee550c5..7650db3 100644 --- a/src/main/java/com/zipcodewilmington/looplabs/IntegerDuplicateDeleter.java +++ b/src/main/java/com/zipcodewilmington/looplabs/IntegerDuplicateDeleter.java @@ -1,8 +1,29 @@ package com.zipcodewilmington.looplabs; +import java.util.Arrays; +import java.util.Collections; +import java.util.stream.Collectors; + /** * Created by leon on 1/29/18. * @ATTENTION_TO_STUDENTS You are forbidden from modifying the signature of this class. */ public final class IntegerDuplicateDeleter extends DuplicateDeleter { + public IntegerDuplicateDeleter(Integer[] intArray) { + super(intArray); + } + + @Override + public Integer[] removeDuplicates(int maxNumberOfDuplications) { + return Arrays.stream(array) + .filter(j -> Collections.frequency(Arrays.asList(array), j) < maxNumberOfDuplications) + .toArray(Integer[]::new); + } + + @Override + public Integer[] removeDuplicatesExactly(int exactNumberOfDuplications) { + return Arrays.stream(array) + .filter(j -> Collections.frequency(Arrays.asList(array), j) != exactNumberOfDuplications) + .toArray(Integer[]::new); + } } diff --git a/src/main/java/com/zipcodewilmington/looplabs/StringDuplicateDeleter.java b/src/main/java/com/zipcodewilmington/looplabs/StringDuplicateDeleter.java index 4818fe3..b3d9914 100644 --- a/src/main/java/com/zipcodewilmington/looplabs/StringDuplicateDeleter.java +++ b/src/main/java/com/zipcodewilmington/looplabs/StringDuplicateDeleter.java @@ -5,4 +5,17 @@ * @ATTENTION_TO_STUDENTS You are forbidden from modifying the signature of this class. */ public final class StringDuplicateDeleter extends DuplicateDeleter { + public StringDuplicateDeleter(String[] intArray) { + super(intArray); + } + + @Override + public String[] removeDuplicates(int maxNumberOfDuplications) { + return new String[0]; + } + + @Override + public String[] removeDuplicatesExactly(int exactNumberOfDuplications) { + return new String[0]; + } } From f69ced3676e3529827dce76da3d7fae7531eda41 Mon Sep 17 00:00:00 2001 From: jorge Date: Thu, 1 Apr 2021 15:35:21 -0400 Subject: [PATCH 2/2] done --- .../looplabs/StringDuplicateDeleter.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/zipcodewilmington/looplabs/StringDuplicateDeleter.java b/src/main/java/com/zipcodewilmington/looplabs/StringDuplicateDeleter.java index b3d9914..eeb1d6e 100644 --- a/src/main/java/com/zipcodewilmington/looplabs/StringDuplicateDeleter.java +++ b/src/main/java/com/zipcodewilmington/looplabs/StringDuplicateDeleter.java @@ -1,5 +1,8 @@ package com.zipcodewilmington.looplabs; +import java.util.Arrays; +import java.util.Collections; + /** * Created by leon on 1/28/18. * @ATTENTION_TO_STUDENTS You are forbidden from modifying the signature of this class. @@ -11,11 +14,17 @@ public StringDuplicateDeleter(String[] intArray) { @Override public String[] removeDuplicates(int maxNumberOfDuplications) { - return new String[0]; + + return Arrays.stream(array) + .filter(j -> Collections.frequency(Arrays.asList(array), j) < maxNumberOfDuplications) + .toArray(String[]::new); } @Override public String[] removeDuplicatesExactly(int exactNumberOfDuplications) { - return new String[0]; + + return Arrays.stream(array) + .filter(j -> Collections.frequency(Arrays.asList(array), j) != exactNumberOfDuplications) + .toArray(String[]::new); } }