From 699492381124fd034148567709f5d418899ec62b Mon Sep 17 00:00:00 2001 From: John Tokhi <56596400+tokhij@users.noreply.github.com> Date: Sun, 24 Nov 2019 16:12:39 -0500 Subject: [PATCH] doneee --- .../looplabs/IntegerDuplicateDeleter.java | 24 +++++++++++++++++++ .../looplabs/StringDuplicateDeleter.java | 22 +++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/src/main/java/com/zipcodewilmington/looplabs/IntegerDuplicateDeleter.java b/src/main/java/com/zipcodewilmington/looplabs/IntegerDuplicateDeleter.java index ee550c5..e5993ac 100644 --- a/src/main/java/com/zipcodewilmington/looplabs/IntegerDuplicateDeleter.java +++ b/src/main/java/com/zipcodewilmington/looplabs/IntegerDuplicateDeleter.java @@ -1,8 +1,32 @@ package com.zipcodewilmington.looplabs; +import java.util.Arrays; + /** * 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); + } + + public Long counter(Integer index){ + return Arrays.stream(array).filter(j -> j == index).count(); + } + + @Override + public Integer[] removeDuplicates (int maxNumberOfDuplications){ + return Arrays.stream(array).filter(x -> counter(x) < maxNumberOfDuplications).toArray(Integer[]::new); + } + + @Override + public Integer[] removeDuplicatesExactly(int exactNumberOfDuplications){ + return Arrays.stream(array).filter(a -> counter(a) != 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..ba5d007 100644 --- a/src/main/java/com/zipcodewilmington/looplabs/StringDuplicateDeleter.java +++ b/src/main/java/com/zipcodewilmington/looplabs/StringDuplicateDeleter.java @@ -1,8 +1,30 @@ package com.zipcodewilmington.looplabs; +import java.util.Arrays; + /** * Created by leon on 1/28/18. * @ATTENTION_TO_STUDENTS You are forbidden from modifying the signature of this class. */ public final class StringDuplicateDeleter extends DuplicateDeleter { + + public StringDuplicateDeleter(String[] stringArray){ + super(stringArray); + } + + public Long counter(String index){ + return Arrays.stream(array).filter(j -> j.equals(index)).count(); + } + + @Override + public String[] removeDuplicates(int maxNumberOfDuplication){ + return Arrays.stream(array).filter(x -> counter(x) < maxNumberOfDuplication).toArray(String[]::new); + } + + @Override + public String[] removeDuplicatesExactly(int exactNumberOfDuplications){ + return Arrays.stream(array).filter(a -> counter(a) != exactNumberOfDuplications).toArray(String[]::new); + } + + }