|
|
8 년 전 | |
|---|---|---|
| .gitignore | 8 년 전 | |
| .travis.yml | 8 년 전 | |
| DuplicateDeleter.java | 8 년 전 | |
| IntegerDuplicateDeleter.java | 8 년 전 | |
| IntegerDuplicateDeleterTest.java | 8 년 전 | |
| README.md | 8 년 전 | |
| StringDuplicateDeleter.java | 8 년 전 | |
| StringDuplicateDeleterTest.java | 8 년 전 | |
| package.bluej | 8 년 전 | |
| pom.xml | 8 년 전 |
Instructions
IntegerDuplicateDeleter and StringDuplicateDeleter both inherit from the abstract class DuplicateDeleter. The DuplicateDeleter class has two required methods that the IntegerDuplicateDeleter and StringDuplicateDeleter need to implement. You need to add the two methods into the two classes and add a constructor to call the DuplicateDeleter method to make your code compile.IntegerDuplicateDeleter, with a composite Integer[] object, write a method
removeDuplicatesExactly which removes all values in the array which occur exactly the specified number of times.removeDuplicates which removes all values in the array which occur at least the specified number of times.
StringDuplicateDeleter, with a composite String[] object, write a method
removeDuplicatesExactly which removes all values in the array which occur exactly the specified number of times.removeDuplicates which removes all values in the array which occur at least the specified number of times.Restrictions
Collection, List, Map)removeDuplicateExactly(n)Sample Script
// : Given
Integer[] array = new Integer[]{1, 1, 1, 23, 23, 56, 57, 58};
DuplicateDeleter<Integer> deleter = new IntegerDuplicateDeleter(array);
// : When
Integer[] actual = deleter.removeDuplicateExactly(3);
// : Then
Integer[] expected = new Integer[]{23, 23, 56, 57, 58};
assertArrayEquals(expected, actual);
Sample Script
// : Given
Integer[] array = new Integer[]{1, 1, 1, 23, 23, 56, 57, 58};
DuplicateDeleter<Integer> deleter = new IntegerDuplicateDeleter(array);
// : When
Integer[] actual = deleter.removeDuplicateExactly(1);
// : Then
Integer[] expected = {1, 1, 1, 23, 23};
assertArrayEquals(expected, actual);
Sample Script
// : Given
Integer[] array = new Integer[]{0, 0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5};
DuplicateDeleter<Integer> deleter = new IntegerDuplicateDeleter(array);
// : When
Integer[] actual = deleter.removeDuplicateExactly(3);
// : Then
Integer[] expected = {1, 1, 2, 4, 4, 5, 5, 5, 5};
assertArrayEquals(expected, actual);
removeDuplicates(n)Sample Script
// : Given
Integer[] array = new Integer[]{1,1,1,23,23,56,57,58};
DuplicateDeleter<Integer> deleter = new IntegerDuplicateDeleter(array);
// : When
Integer[] actual = deleter.removeDuplicateExactly(1);
// : Then
Integer[] expected = {};
assertArrayEquals(expected, actual);
Sample Script
// : Given
Integer[] array = new Integer[]{0, 0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5};
DuplicateDeleter<Integer> deleter = new IntegerDuplicateDeleter(array);
// : When
Integer[] actual = deleter.removeDuplicates(2);
// : Then
Integer[] expected = {2};
assertArrayEquals(expected, actual);
Sample Script
// : Given
Integer[] array = new Integer[]{0, 0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5};
DuplicateDeleter<Integer> deleter = new IntegerDuplicateDeleter(array);
// : When
Integer[] actual = deleter.removeDuplicates(3);
// : Then
Integer[] expected = {1, 1, 2, 4, 4};
assertArrayEquals(expected, actual);
Sample Script
// : Given
Integer[] array = new Integer[]{0, 0, 0, 1, 1, 2, 3, 3, 3, 4, 4, 5, 5, 5, 5};
DuplicateDeleter<Integer> deleter = new IntegerDuplicateDeleter(array);
deleter.removeDuplicates(0);
deleter.removeDuplicates(1);
deleter.removeDuplicates(2);
// : When
Integer[] actual = deleter.removeDuplicates(3);
// : Then
Integer[] expected = {1, 1, 2, 4, 4};
assertArrayEquals(expected, actual);
Sample Script
// : Given
Integer[] array = new Integer[]{1, 1, 1, 23, 23, 56, 57, 58};
DuplicateDeleter<Integer> deleter = new IntegerDuplicateDeleter(array);
deleter.removeDuplicates(0);
deleter.removeDuplicates(1);
deleter.removeDuplicates(2);
// : When
Integer[] actual = deleter.removeDuplicatesExactly(3);
// : Then
Integer[] expected = {23, 23, 56, 57, 58};
assertArrayEquals(expected, actual);